阅读“ dictionary.txt”的内容,并将所有四个字母词添加到ADT中。ArrayList <string> words = new ArrayList <>();

时间:2019-03-08 03:25:27

标签: java

  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个字母的单词,但是当我运行我的代码时,它将给我词典文件中的所有单词 预先谢谢您。

1 个答案:

答案 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);
}