我听说你可以使用开关字符串,但我没有让它工作。在这种情况下ToDo将是一个用户输入String,但我的编译器告诉我" int不能转换为String"。 任何人都可以告诉我我做错了什么吗?
class Comands {
public Comands () {}
public void doSomething (String toDo){
while (!(toDo.equals("quit"))) {
switch (toDo) {
case 1: toDo.equals("right");
System.out.println("go right");
break;
case 2: toDo.equals("left");
System.out.println("go left");
break;
}
}
}
}
答案 0 :(得分:3)
就像提到的@Hovercraft Full Of Eels一样,你在case 1:
比较你的字符串和整数,这应该包含这样的字符串:
...
case "left":
// sysout();
break;
case "right":
// sysout();
break;
...
答案 1 :(得分:1)
switch (toDo) {
case "right":
System.out.println("go right");
break;
case "left":
System.out.println("go left");
break;
}
注意:仅在Java SE 7及更高版本中,您可以在switch语句的表达式中使用String对象。
更多信息here。