出于某些原因,不读取最后输入,但读取其他原因

时间:2011-11-20 19:44:02

标签: java java.util.scanner

(使用java)

我对这个问题的旧解释是可怕的,所以我会说出来。基本上在代码的末尾,它应该检查用户是否想要重新运行程序。 Y ==重复。 N ==结束节目。那么为什么这段代码不起作用呢?它与其他检查正在进行的操作相同,但它几乎似乎跳过了最后两个if语句。有什么问题?

      String loopy = in.nextLine();
      in.nextLine();
      if(loopy.equals("Y")){
        for(int count = 0;count<5;count++)
        {
          System.out.println("");
        }
      }
      if(loopy.equals("N"))
      {
        break; 
      }
    }
    System.out.println("You have chosen to exit the program. Program Finished");
}}

3 个答案:

答案 0 :(得分:1)

只需交换这两行的顺序,您的代码即可运行良好:

String loopy = in.nextLine();
in.nextLine();

成功:

in.nextLine();
String loopy = in.nextLine();

答案 1 :(得分:-1)

看起来你正在阅读上一个问题的答案两次:

   String loopy = in.nextLine();
   in.nextLine();

答案 2 :(得分:-1)

你的while循环永远运行,

while(true) 

永远循环,改为true以检查上一个问题的答案是否为是。