【发布时间】:2014-12-16 19:16:09
【问题描述】:
我正在练习 Cay S. Horstmann 和 Gary Cornell 编写的 Java 书中的 HashSet,我认为第 687 页的示例代码有错误。我们有一个 Scanner 将单词导入 HashSet,它看起来像这样(我删除了一些不需要的代码以使问题更加明显):
Set<String> words = new HashSet<String>();
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
String word = in.next();
words.add(word);
}
问题是没有办法停止这个循环。或者也许我错过了什么?
为了停止循环,我添加了另一个静态辅助方法:
public static boolean isStop(Scanner in) {
if (in.next().equals("stop")) {
return true;
}
return false;
}
现在主要代码如下所示:
Set<String> words = new HashSet<String>();
Scanner in = new Scanner(System.in);
while (!isStop(in)) {
String word = in.next();
words.add(word);
}
还有其他方法可以停止扫描器循环吗?我不敢相信那本书的作者弄错了?
【问题讨论】:
标签: java