質問

I am using a Scanner class to get the input and want to convert the input to uppercase letter when display it. This is my code

Scanner input = new Scanner(System.in);
System.out.print("Enter a letter: ");
char c = input.next().charAt(0);
Character.toUpperCase(c);

Since I have convert it to uppercase, but the output is like

input: a
c = A;
output: Enter a letter: a

PS: The letter "a" is what I typed in the terminal

However I want to it display as an uppercase one. How can I change it?

役に立ちましたか?

解決

The toUpperCase method doesn't change the value of the char (it can't); it returns the uppercased char. Change

Character.toUpperCase(c);

to

c = Character.toUpperCase(c);

UPDATE

The updated question now indicates that the uppercased characters are to be printed as they're typed. Java cannot do that, because Java doesn't control how the O/S echoes user input to the screen. My solution above would only produce additional output, even if it is uppercased.

他のヒント

System.out.println(Character.toUpperCase(c));

Since, java is pass by value, you need to use the return value. Either print Character.toUpperCase(c) directly or set it to some var.

Here Is An Example Of How You Can Change A Character To UpperCase.

char ch;

    System.out.println("Input Characters:");

    ch = (char) System.in.read();
    System.out.println("Character Is: " + ch);

    sc.nextLine();

    System.out.println("Upper Case: " + Character.toUpperCase(ch));
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top