有人可以告诉我为什么switch语句没有识别gat
String变量。 IDE
告诉我primitive
是required
(int,char,short ....),但它找到了一个字符串。
String gat = temp[i];
switch (gat) {
case "a":
output[i] = 12 * k;
break;
case "b":
output[i] = 23 * k;
break;
case "c":
output[i] = 34 * k;
break;
}
答案 0 :(得分:4)
您的项目合规性级别设置为Java 6或更早版本,您不能在Java 7之前使用String
作为案例标签。但是,对于您的问题,您可以使用charAt(0)
String gat=temp[i];
switch (gat.charAt(0))
{
case 'a':
output[i] = 12 * k;
break;
case 'b':
output[i] = 23 * k;
break;
case 'c':
output[i] = 34 * k;
break;
}
答案 1 :(得分:0)
如果您使用的是NetBeans,请确保您拥有最新的JDK版本。 如果您使用的是Eclipse,请使用最新的JDK版本,并将Java设置中编译器的合规性级别设置为1.7。