好的,所以我已经编程了很短的时间,我已经开始制作非常好的程序了。但是当涉及到开关时,它们在实际工作时总是运气好的。我写了这个switch语句:
String answer1 = in.nextLine();
switch (answer1)
{
case 1:
System.out.println("...");
break;
case 2:
System.out.println("...");
break;
case 3:
System.out.println("...");
break;
}
并且案例旁边的开关标签都表示'错误无法从int转换为字符串'有人可以帮助。谢谢 Noob程序员~Chase
答案 0 :(得分:3)
您正在尝试启用String
,而案例为int
。您需要先解析字符串,然后再将其传递给switch
:
String answer1 = in.nextLine();
switch (Integer.parseInt(answer1)) {
...
}
答案 1 :(得分:1)
仅在Java 7中支持switch中的字符串。
http://docs.oracle.com/javase/7/docs/technotes/guides/language/strings-switch.html
如果您使用的是Java 7及更高版本,那么
switch (answer1)
{
case "1":
System.out.println("...");
break;
case "2":
System.out.println("...");
break;
case "3":
System.out.println("...");
break;
否则你必须将它转换为int,如@dasblinkenlight
的答案所示答案 2 :(得分:0)
您可能需要验证您正在使用的Java版本。这在旧版本的Java上是不可能的。
请参阅:Why can't I switch on a String?
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html
也就是说,如果您打算打开String。如果你确实期望一个整数(你需要解析它),请参阅下面的答案(@dasblinkenlight)。