java Scanner 方法怎么结束输入

import java.util.*;
public class SetTest {

/**
* This program uses a set to print all unique words in System.in
*/
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 word=in.next();
long callTime=System.currentTimeMillis();
words.add(word); //add all the words in set
callTime=System.currentTimeMillis()-callTime;
totaltime+=callTime;

}

Iterator<String> iter=words.iterator();
for(int i=1;i<20;i++)
System.out.println(iter.next());
System.out.println("...");
System.out.println(words.size()+"distinct words."+totaltime+"milliseconds.");

}

}

如上述的程序,将读取的输入的单词添加到散列集中,然后打印出单词的数量。在控制台输入文本单词,什么时候才能结束输入呢。程序运行的结果是什么啊。
最新回答
辣条瘾√

2024-11-28 08:32:47

package review;

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

public class SetTest {

/**
* This program uses a set to print all unique words in System.in
*/
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 word=in.next();
// long callTime=System.currentTimeMillis();
// words.add(word); //add all the words in set
// callTime=System.currentTimeMillis()-callTime;
// totaltime+=callTime;
//
// }
while(true)
{
System.out.println("请输入单词");
String word=in.next();
if(word.equals("quit")) //当用户输入quit 单词时退出Scanner
{
System.out.println("退出");
break;
}
words.add(word);
}

// Iterator<String> iter=words.iterator();
// for(int i=1;i<20;i++)
// System.out.println(iter.next());
// System.out.println("...");
// System.out.println(words.size()+"distinct words."+totaltime+"milliseconds.");
//
System.out.println("打印输出内容");
//必须使用hasnext() 方法判断是否有下一个,否则会报异常
for(Iterator<String> iter=words.iterator();iter.hasNext();)
{
System.out.println(iter.next());
}
}

}
输入quit 单词退出Scanner 退出循环。程序集过是打印输出输入的每个单词
白色季节

2024-11-28 08:24:38

Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。它是以前的StringTokenizer和
Matcher类之间的某种结合。由于任何数据都必须通过同一模式的捕获组检索或通过使用一个索引来检索文本的各个部分。于是可以结合
使用正则表达式
和从
输入流中检索特定类型数据项的方法。这样,除了能使用正则表达式之外,Scanner类还可以任意地对
字符串
和基本类型(如int和double)的数据
进行分析。借助于Scanner,可以针对任何要处理的文本内容编写自定义的语法分析器。

scanner 作循环判断直到检测到输入某个字符然后退出最为妥当;
另外它是有close方法的退出前应先关闭
┌胖胖糖〃

2024-11-28 08:50:00

java scanner类:只要你有输入,就会有相应的值产生,in.next()就会有东西,只要你停止就没了,还有,你的循环控制条件就是错的,导致条件会一直满足,只有强行结束!
雪蝶宿秋风

2024-11-28 08:43:23

在java中,当使用scanner对象来从控制台输入参数时,如果参数已经输入结束,可以按回车键来提交,也就是按回车键来告诉电脑,当前的参数已经输入完结了。
各种坚强

2024-11-28 08:17:13

equals("exit");