Java 如何使switch语句重复?

Java 如何使switch语句重复?,java,switch-statement,repeat,Java,Switch Statement,Repeat,如何使switch语句重复 一般回答:你在它周围放一个圈 在这种情况下,问题是您在循环中犯了一个错误 具体而言: 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 p

如何使switch语句重复

一般回答:你在它周围放一个圈

在这种情况下,问题是您在循环中犯了一个错误

具体而言:

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); 
正在
分配给
输入
。赋值
input=false
的值为
false
。。。因此,循环语句只执行循环体一次

应该是这样的:

    } while (input = false); 
或者更好的做法是1:



1-这更好,因为当您使用
=
测试布尔值时,您可能会意外地使用
=
。。。后果如上所示!请注意,在Java中,此问题仅适用于
boolean
测试。对于其他类型,
x=y
将具有与
x==y
不同的类型,并且该错误足以导致编译错误。。。在这种情况下,这是一件好事。

怎么了?期望的行为是什么?你可能想要阅读,这大大提高了获得有用答案的可能性。你可能会发现他的优秀论文也很有帮助。
    } while (input == false); 
   }  while (!input);