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

2022-01-12 00:00:00 char uppercase java

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

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:字母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?

推荐答案

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

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

Character.toUpperCase(c);

c = Character.toUpperCase(c);

更新

更新后的问题现在表明大写字符将在输入时在输入时打印.Java 无法做到这一点,因为 Java 不控制操作系统如何将用户输入回显到屏幕上.我上面的解决方案只会产生额外的输出,即使它是大写的.

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.

相关文章