canner Input = new Scanner(System.in);
int userNum;
int computerNum = (int) (0 + Math.random() * 3);
System.out.println("Let's play rock paper scissors.");
System.out.println("Choose rock paper or scissors");
boolean input = false;
String userInput = Input.nextLine();
do {
switch (userInput.toLowerCase().trim()) {
case "rock":
userNum = 0;
input = true;
break;
case "paper":
userNum = 1;
input = true;
break;
case "scissors:":
userNum = 2;
input = true;
break;
default:
System.out.println("Please retry and make sure spelling is correct");
input = false;
break;
}
} while (input = false);
答案 0 :(得分:2)
如何重复切换语句?
一般答案:你围绕它做了一个循环。
在这种情况下,问题是你在循环中犯了错误。
具体做法是:
} while (input = false);
将 false
分配给input
。赋值input = false
的值是false
...所以你的循环语句只执行一次循环体。
应该是这样的:
} while (input == false);
或者更好 1 :
} while (!input);
1 - 这是更好的,因为当你使用==
测试一个布尔值时,你可能会意外地使用=
来代替上面说明的结果!请注意,在Java中,此问题仅适用于boolean
测试。对于其他类型,x = y
将具有与x == y
不同的类型,并且足以导致错误导致编译错误...在此上下文中这是一件好事。 < / p>