If statement 如何让扫描器恢复到java中的第一组if/else语句?

If statement 如何让扫描器恢复到java中的第一组if/else语句?,if-statement,for-loop,java.util.scanner,If Statement,For Loop,Java.util.scanner,我有一个扫描器,它可以处理两个if语句,但是当涉及到else语句时(如果我输入随机字母,它会提示用户“请输入是或否”),如果我输入“是”,它应该运行real方法,但它只是结束程序。如何让它接受用户输入“yes”,然后运行与第一条if语句中的“yes”对应的方法?我添加了for循环来尝试解决这个问题,它做到了,但它也改变了我的代码的其余部分,使其运行了两次真正的方法,这不是我想要的 public static void scanner() { System.out.println("I

我有一个扫描器,它可以处理两个if语句,但是当涉及到else语句时(如果我输入随机字母,它会提示用户“请输入是或否”),如果我输入“是”,它应该运行real方法,但它只是结束程序。如何让它接受用户输入“yes”,然后运行与第一条if语句中的“yes”对应的方法?我添加了for循环来尝试解决这个问题,它做到了,但它也改变了我的代码的其余部分,使其运行了两次真正的方法,这不是我想要的

  public static void scanner() {
    System.out.println("Is this a real scenario? Please enter 'Yes' or 'No'.");
    Scanner scan = new Scanner(System.in);
    String answer;
    answer = scan.nextLine();
    //for (int x = 0; x < 2; x++ ) {
        if (answer.equals("Yes") || answer.equals("yes")) {
            real();
        } else if (answer.equals("No") || answer.equals("no")) {
            hypothetical();
        } else {
            System.out.println("Please enter 'Yes' or 'No'.");
            answer = scan.nextLine();
        }
    }
}
publicstaticvoidscanner(){
System.out.println(“这是真实的场景吗?请输入‘是’或‘否’”);
扫描仪扫描=新扫描仪(System.in);
字符串回答;
答案=scan.nextLine();
//对于(int x=0;x<2;x++){
如果(回答.equals(“Yes”)|回答.equals(“Yes”)){
实数();
}else if(answer.equals(“No”)| answer.equals(“No”)){
假设的();
}否则{
System.out.println(“请输入‘是’或‘否’”);
答案=scan.nextLine();
}
}
}

使用
equalsIgnoreCase
而不是我认为的任何改变,现在告诉我您是否准确输入了“是”或“是”或“是”
equalsIgnoreCase
以相同的方式处理所有这些问题,但
等于
不等于