读书人

这个程序的循环停止条件是什么

发布时间: 2013-12-16 23:49:16 作者: rapoo

这个程序的循环终止条件是什么?
如题,基本上是书上的一个程序,在黑窗口中一直是输入状态,输入什么会终止?

import java.util.*;

public class Test
{
public static void main(String[] args)
{
Set<String> words = new HashSet<String>();
long totalTime = 0;

Scanner in = new Scanner(System.in);
while(in.hasNext()) //这个循环的终止条件是什么
//呀,怎么在黑窗口中一直是输入状态?输入一
//个什么会终止?
{
String s = in.next();
long callTime = System.currentTimeMills();
words.add(s);
callTime = System.currentTimeMills() - callTime;
totalTime = totalTime + callTime;
}

Iterator<String> it = words.iterator();
for(int i=1; i<=20 && it.hasNext(); i++)
{
System.out.println(it.next());
}

}
}


[解决办法]
这个循环不会终止,要你手动结束输入流就行..貌似是Ctrl+z。试一下
[解决办法]

import java.util.HashSet;
import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;

public class Test {
public static void main(String[] args) {
Set<String> words = new HashSet<String>();
long totalTime = 0;

Scanner in = new Scanner(System.in);
while (in.hasNext()) // 这个循环的终止条件是什么
// 呀,怎么在黑窗口中一直是输入状态?输入一
// 个什么会终止?
{
String s = in.next();
long callTime = System.currentTimeMillis();
words.add(s);
callTime = System.currentTimeMillis() - callTime;
totalTime = totalTime + callTime;
if(s.equals("exit")){ // 加个判断条件
break;
}
}

Iterator<String> it = words.iterator();
for (int i = 1; i <= 20 && it.hasNext(); i++) {
System.out.println(it.next());
}

}
}


[解决办法]
自己价格终止条件 例如当你敲进去的字符等于** 这是就break 跳出循环。

读书人网 >J2SE开发

热点推荐