如何在Java中自动将输入字符转换为大写字母

我正在使用Scanner类来获取输入,并希望在显示时将输入转换为大写字母。 这是我的代码

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

因为我已将其转换为大写,但输出就像

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

PS:字母“a”是我在终端输入的内容

但是我希望它显示为大写。 我该怎么改变它?

toUpperCase方法不会更改char的值(它不能); 它返回大写的char 。 更改

 Character.toUpperCase(c); 

 c = Character.toUpperCase(c); 

UPDATE

现在更新的问题表明,在输入大写字符时,它们将被打印。 Java无法做到这一点,因为Java无法控制O / S如何回应用户对屏幕的输入。 我上面的解决方案只会产生额外的输出,即使它是大写的。

的System.out.println(Character.toUpperCase(C));

因为,java是按值传递的,所以需要使用返回值。 直接打印Character.toUpperCase(c)或将其设置为某些var

这是一个如何将字符更改为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));