关于scanner控制台输入输出问题

tssheng1987 2009-03-21 03:10:50
请老大指教,关于scanner控制台输入输出问题
import java.util.*;
public class setTest
{
/**
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub
Set<String> words=new HashSet<String>();
//long totalTime=0;
Scanner in=new Scanner(System.in);
while(in.hasNext())
{
String word=in.next();
//long callTime=System.currentTimeMillis();
words.add(word);
//callTime=System.currentTimeMillis()-callTime;
//totalTime+=callTime;
}
in.close();
Iterator<String> iter=words.iterator();
for(int i=1;i<-20;i++)
{
System.out.println(iter.next());
}
System.out.println(words.size());
}
}

当输入一字符串后(空格隔开),问什么遍历没有显示???
...全文
306 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zk20052009 2009-03-23
  • 打赏
  • 举报
回复
你把源关了
ctrl+c一下
in.hasNext()就返回false了
就可以跳出看到结果了吧
wclszh 2009-03-23
  • 打赏
  • 举报
回复
学习
SunnyPea 2009-03-23
  • 打赏
  • 举报
回复
楼上都说对了。
while()是个死循环,要么去掉循环,当做一个字符串读取,要么使用正则表达式试一试,
hoojo 2009-03-23
  • 打赏
  • 举报
回复

Set words = new HashSet();
//long totalTime=0;
Scanner in = new Scanner(System.in);
int j = 1;
while(in.hasNext())
{

String word=in.next();
//long callTime=System.currentTimeMillis();
words.add(word);
//callTime=System.currentTimeMillis()-callTime;
//totalTime+=callTime;
j++;
if (j > 5){
break;
}
}
in.close();
Iterator iter = words.iterator();
for(int i=1;i < j;i++)
{
System.out.println(iter.next());

}
System.out.println(words.size());


试试看
对你应该有帮助吧
^_*
yooyoozoo 2009-03-23
  • 打赏
  • 举报
回复
while(in.hasNext()) ???

这个是!搞大了吧~!~
CEO27 2009-03-23
  • 打赏
  • 举报
回复
while(in.hasNext()) 一般从文件输入这么写
frankwoods123 2009-03-23
  • 打赏
  • 举报
回复
while(in.hasNext()) 死循环。。
v_oneforever 2009-03-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yangfeitarena 的回复:]
while(in.hasNext()) 是个死循环,自己在循环体中设置结束循环条件吧。
[/Quote]
来晚了。。。三楼说得快。。看一下正则表达式。while的语法
ouyangxiaokang6 2009-03-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yangfeitarena 的回复:]
while(in.hasNext()) 是个死循环,自己在循环体中设置结束循环条件吧。
[/Quote]
up,hasNext()返回的是个逻辑值,你的while没有办法结束
yangfeitarena 2009-03-21
  • 打赏
  • 举报
回复
while(in.hasNext()) 是个死循环,自己在循环体中设置结束循环条件吧。
tssheng1987 2009-03-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 andycpp 的回复:]
for(int i=1;i <-20;i++)

i <-20 ???????????
[/Quote]

这个是误笔
andycpp 2009-03-21
  • 打赏
  • 举报
回复
for(int i=1;i <-20;i++)

i<-20 ???????????

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧