How to convert input char to uppercase automatically in Java

倖福魔咒の 提交于 2019-11-28 05:24:26

问题


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?


回答1:


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.




回答2:


System.out.println(Character.toUpperCase(c));




回答3:


Since, java is pass by value, you need to use the return value. Either print Character.toUpperCase(c) directly or set it to some var.




回答4:


Here Is An Example Of How You Can Change A Character To 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));


来源:https://stackoverflow.com/questions/21147319/how-to-convert-input-char-to-uppercase-automatically-in-java

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!