我一直在努力尝试,没有办法。
我想用小写字母大写等值。
我知道并知道如何使用方法toUpperCase()但我想没有它。
这是我失败的代码:
import java.util.Scanner;
public class ConvertLetters {
public static void main(String[] args) {
Scanner stdin = new Scanner(System.in);
System.out.print("enter a lower case letter");
char letter = stdin.nextLine();
int letter2 = 'A' + (letter - 'a');
System.out.println("and we will refund your letter capitalized");
System.out.print("Your letter: " + letter);
System.out.print("upper case equates to:");
System.out.print(letter2);
}
}
答案 0 :(得分:2)
您希望以char
char letter = stdin.nextLine().charAt(0);
char letter2 = (char) ('A' + (letter - 'a'));
或
char letter2 = (char) (letter - 32);
答案 1 :(得分:1)
我发现此代码存在两个问题。首先,指定nextLine()
,这是一个字符串。你可能想要像
char letter = stdin.nextLine().charAt(0);
代替。其次,您打印int
,尝试
System.out.print((char)letter2);
通过这些更改,我认为您的代码会为您提供更好的结果。
当然,无论如何,这对非ascii角色都不起作用。