我找到了应该将第一个字符从小写字母更改为大写字母的语法。
由于某些原因,我的程序不会!当我键入'm'而不是'M'时。
我在这里做错了什么?
public static void main(String[] args) {
System.out.print("Enter two characters: ");
Scanner input = new Scanner(System.in);
String twoChar = input.nextLine();
if(twoChar.length() > 2 || twoChar.length() <= 1){
System.out.println("You must enter exactly two characters");
System.exit(1);
}
char ch = Character.toUpperCase(twoChar.charAt(0));
if(twoChar.charAt(0) == 'M'){
if(twoChar.charAt(1) == '1'){
System.out.println("Mathematics Freshman");
}else if(twoChar.charAt(1) == '2'){
System.out.println("Mathematics Sophomore");
}else if(twoChar.charAt(1) == '3'){
System.out.println("Mathematics Junior");
}else if(twoChar.charAt(1) == '4'){
System.out.println("Mathematics Senior");
}
}
答案 0 :(得分:4)
而不是
if(twoChar.charAt(0) == 'M'){
使用
if(ch == 'M'){
你正在获得大写字符,但之后却没有使用它。
答案 1 :(得分:1)
您正在将字符的大写版本分配给变量ch
,然后您不会检查ch
;你正在检查字符串中的字符。该角色与之前的角色相同:它没有改变。
所以不要检查:
if (twoChar.charAt(0) == 'M') {
检查:
if (ch == 'M') {
答案 2 :(得分:0)
您没有使用此处大写的char ch
,
char ch = Character.toUpperCase(twoChar.charAt(0));
if(twoChar.charAt(0) == 'M'){
您可以使用本地变量 ch
(如
char ch = Character.toUpperCase(twoChar.charAt(0));
if (ch == 'M') {
或将toUpperCase
来电置于
// char ch = Character.toUpperCase(twoChar.charAt(0));
if (Character.toUpperCase(twoChar.charAt(0)) == 'M') {
或使用逻辑或类似的
char ch = twoChar.charAt(0);
if (ch == 'M' || ch == 'm') {