import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
public class BuildGraph {
public static void main(String[] args) throws IOException {
Scanner sc=new Scanner((new File("dictionary.txt")));
ArrayList<String> words=new ArrayList<String>();
while(sc.hasNextLine()){
if(sc.next().length()==4){
words.add(sc.next());
//sc.next();
}
System.out.println(words);
}
// sc.close();
for (int i = 0; i < words.size(); i++) {
System.out.println(words.get(i));
}
}
}
这是我的代码,我试图从词典文件中仅读取4个字母的单词,但是当我运行我的代码时,它将给我词典文件中的所有单词 预先谢谢您。
答案 0 :(得分:1)
您的代码需要一些调整。基本上,您不应两次调用sc.next()来获得与调用next()将指针移至下一个元素相同的元素
将while循环重写为此:
while(sc.hasNextLine() && sc.hasNext()){
String word = sc.next();
if(word.length()==4){
words.add(word);
}
System.out.println(words);
}