如何在Java中自动将输入字符转换为大写
我正在使用Scanner类获取输入,并希望在显示时将输入转换为大写字母。这是我的密码如何在Java中自动将输入字符转换为大写,java,char,uppercase,Java,Char,Uppercase,我正在使用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 附:字母“a”
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
附:字母“a”是我在终端中输入的
但是,我希望它显示为大写字母。我怎样才能改变它 不会更改字符的值(它不能);它返回大写的字符
。改变
Character.toUpperCase(c);
到
更新
更新后的问题现在表明大写字符将在键入时打印。Java无法做到这一点,因为Java无法控制O/S如何将用户输入回显到屏幕上。我上面的解决方案只会产生额外的输出,即使它是大写的。System.out.println(Character.toUpperCase(c)) 因为java是按值传递的,所以需要使用返回值。直接打印Character.toUpperCase(c)
,或者将其设置为某个var
以下是一个如何将字符更改为大写的示例
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));
您没有打印它…可能是@SotiriosDelimanolis的副本OP希望将tty自己键入的字符的回显大写。@Boristeider tty代表什么?他(向我们展示他)也没有打印c
:)@SotiriosDelimanolis来自电传打字机——用来指虚拟终端。关键是,当我在tty中键入内容时,tty会回显我键入的内容(除非“回显”已关闭)-这是我认为OP希望更改的内容。我不确定这是否是问题所在。OP希望tty上的回音在键入时自动显示大写字符。是的,非常感谢。但是我仍然想知道更改代码后输入的显示情况。@Matchagery很遗憾,这在Java中是不可能的。@Matchagery TTY部分在您的问题中并不明显。请更新问题。@tman好的,我已经更新了。无论如何,谢谢你的回答,这是我代码中的一个问题。
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));