我正在尝试编写一个循环直到按下按键的程序,然后询问用户是否要退出。现在,在计算机询问用户是否要退出之后,计算机退出并且不等待用户键入退出。
似乎reader.readLine()返回用户先前输入的章程。
我尝试执行以下操作以从输入流中刷新旧数据。 reader.mark(0); reader.reset();
该程序仍然具有相同的行为。 码 } while(System.in.available()== 0); //循环直到按键
System.out.println("type exit to quit" ); // tell the user to type exit if he she wants to exit
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
// get rid of old data in input stream, not working
reader.mark(0);
reader.reset();
// get input from user
mEnd=reader.readLine();
} while(mEnd.compareTo("exit")!=0);
答案 0 :(得分:0)
你的while循环在程序其余部分的上下文中没有正确构造。 while循环必须包装您希望继续执行的代码,直到用户键入quit
。我不确定您的代码使用reader.mark(0);
和reader.reset();
的原因,因为这可以通过以下方式实现:
请考虑以下代码示例:
Scanner input = new Scanner(System.in);
while (!input.hasNext("quit")) {
String expression = input.nextLine(); // gets the next line from the Scanner
// process the input
}
// once the value "quit" has been entered, the while loop terminates
这是你想要完成的事情吗?