碰到这种情况,请先去翻API文档:
public boolean hasNext()
Returns true if this scanner has another token in its input. This method may block while waiting for input to scan. The scanner does not advance past any input.
它在等待你下一个输入的时候会阻塞
如果你希望某个特定的条件退出循环,可以这么做:
Set words = new HashSet<>();
long totalTime = 0;
Scanner in = new Scanner(System.in);
System.out.println(in);
while (in.hasNext())
{
String word = in.next();
if (word.equals("exit")) {
break;
}
long callTime = System.currentTimeMillis();
words.add(word);
callTime = System.currentTimeMillis()-callTime;
totalTime +=callTime;
}
System.out.print(words);
也就是当你输入exit的时候退出循环,你可以修改这个if的逻辑来结束循环