这段代码有错误
System.out.println("enter grade ");
Scanner input2 = new Scanner(System.in);
String grade = input2.nextLine();
switch(grade)
{
case "a":
g=10;
break;
case "b":
g=8;
break;
default:
System.out.println("invalid grade");
break;
}
我正在使用 eclipse kepler。它给了我正确的输出。
但是在 eclipse helios 中编写相同的代码时,它表示如下:
无法打开字符串类型的值。只允许可转换的 int 值或枚举常量
帮我解决这个问题。
最佳答案
您正在使用 JDK <1.7
. Switch
在 Strings 上将无法在 JDK 下工作。
所以转向 1.7 或者不要在 Switch case
中使用字符串.
可能是 char
类型适合您,因为您使用的是单个 character
在 String
满足您的需求。
往那边看。然后转身
//logic to get grade char and then
switch (grade) {
case 'a':
g = 10;
break;
case 'b':
g = 8;
break;
default:
System.out.println("invalid grade");
break;
}
关于java - java中的switch语句接受哪些数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19449806/