Java问题:
我想从用户那里获取不确定数量的输入。例如,我希望用户继续以字符串形式输入人名,直到用户没有其他名字可输入为止。我想要一种用户友好的方式来轻松指示用户没有更多输入。该循环可能如下所示。有什么好主意吗?任何有关改进代码片段的提示也将受到赞赏。
BufferedReader read = new BufferedReader(new InputStreamReader(System.in));
while( <user still has more input> ) {
System.out.println("Enter name: ");
String s = read.readLine();
...
<do something with s>;
...
}
谢谢!
最佳答案
您需要一个不是名称但表示没有更多数据的值。空行就好了。您还想查询他们是否真的想退出,这样万一他们不小心按回车键,他们也不会丢失所有数据。
name = read.readLine();
Pattern p = Pattern.compile("^\\s$"); //empty line or one of just space chareacters
if (p.matcher(name).matches()) {
System.out.println("Are you done?[y/n]");
if (Pattern.matches("[yY]", read.readLine()) {
//quit your loop
}
}
关于Java - 如何从用户获取不确定数量的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4180638/