java - [BEGINNER]在交换机默认设置循环

标签 java loops switch-statement

作为我的第一个小项目,我正在尝试设置一个测验。我编写了生成问题和答案的方法。我现在试图强制用户输入 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/

相关文章:

java - 如何断言抛出异常后尚未调用方法?

java - 使用巨大的 ArrayLists,Java OutOfMemoryError : Java heap space. .. 使用 db?

python - 在名称约定更改的循环中生成变量名称

arrays - for 循环中的协议(protocol)一致性检查?

loops - 从 List.map() 获取迭代索引

Erlang:函数调用返回的 case..of 构造?

java - Switch 语句未添加到变量。怎么了?

java - 在 Eclipse 中找不到资源

java - 更改 NavigationView 中项目的样式

ruby-on-rails - 评估类的案例陈述未按预期工作