matchaGerry matchaGerry - 1 month ago 9
Java Question

How to convert input char to uppercase automatically in Java

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?

Answer

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.