作为我的第一个小项目,我正在尝试设置一个测验。我编写了生成问题和答案的方法。我现在试图强制用户输入 1 或 2 来继续循环,而他没有输入。 我现在有点迷失了。我是否遗漏了一些非常明显的东西?
public static boolean generateQuestion2(String question, String answer1, String answer2) {
boolean bingo;
System.out.println(question);
System.out.println("(1) " + answer1);
System.out.println("(2) " + answer2); //bingo
Scanner scan1 = new Scanner(System.in);
int antwort = scan1.nextInt();
switch (antwort) {
case 1:
System.out.println("Falsch...");
return bingo = false;
case 2:
System.out.println("Richtig!");
return bingo = true;
default:
// Here I intend to loop while antwort != 1 and 2
while (antwort != 1 && antwort != 2) {
System.out.println(" Bitte 1 doer 2 eintippen");
return bingo = false;
}
return bingo = false;
}
}
最佳答案
循环中没有任何内容可以修改antwort
,您需要从scan1
重新读取它。
此外,您在函数内部无条件地从函数返回。这将立即返回。
循环可能应该围绕整个开关
。
最后,对于只有两个值,我宁愿使用简单的 if ... else if
。
关于java - [BEGINNER]在交换机默认设置循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60450303/