我想在while循环中制作一种菜单。我写了这段代码

System.out.println("age , sex or exit" );

BufferedReader bufferRead = new BufferedReader(new InputStreamReader(System.in));
String r = bufferRead.readLine();
while(!(r.equals("exit")))
{
  if(r.equals("age"))
  {
    System.out.println("enter name");
    r = bufferRead.readLine();
    getAge(r);
    System.out.println("age , sex or exit" );
    r = bufferRead.readLine();
  }

  if(r.equals("sex"))
  {
    System.out.println("enter name");
    r = bufferRead.readLine();
    getSex(r);
    System.out.println("age , sex or exit" );
    r = bufferRead.readLine();
  }
}


它是第一次工作,但不能正常工作。有更好的方法吗?

最佳答案

您仅阅读该行一次。

尝试以下(双关语意)行中的内容:

String r = null;
while((r = bufferRead.readLine()) != null) {
    // the rest of your while loop
}

08-06 07:13