我正在使用 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.
这篇关于如何在 Java 中自动将输入字符转换为大写的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
“Char 不能被取消引用"错误quot;Char cannot be dereferencedquot; error(“Char 不能被取消引用错误)
Java Switch 语句 - 是“或"/“和"可能的?Java Switch Statement - Is quot;orquot;/quot;andquot; possible?(Java Switch 语句 - 是“或/“和可能的?)
Java替换字符串特定位置的字符?Java Replace Character At Specific Position Of String?(Java替换字符串特定位置的字符?)
具有 int 和 char 操作数的三元表达式的类型是什么What is the type of a ternary expression with int and char operands?(具有 int 和 char 操作数的三元表达式的类型是什么?)
读取文本文件并存储出现的每个字符Read a text file and store every single character occurrence(读取文本文件并存储出现的每个字符)
为什么我需要在 byte 和 short 上显式转换 char 原语Why do I need to explicitly cast char primitives on byte and short?(为什么我需要在 byte 和 short 上显式转换 char 原语?)