如何使此程序正常工作

时间:2018-05-20 01:22:32

标签: java

在这个程序中,我应该检查文件中的每个单词" Paper"在文件"字典"。如果该字词不在dictionary文件中,则为prints out ("Line #" "the word")。这段代码中的问题是循环。我不知道要重置循环。    EX:字典文件有两个单词 big small        一个纸质文件的句子他的脚是小        该程序将打印

  

行:1:他的   线:1:脚
  行:1:是

import java.util.Scanner;
import java.io.*;
  public class SpellCheck{
  public static void main(String[] arg) throws FileNotFoundException{
    Scanner readfile = new Scanner(new File("paper"));
    String word = "";
    int count = 0;
    while(readfile.hasNextLine()){ 
        String line = readfile.nextLine();
        Scanner linescan = new Scanner(line);
        String Scannedword = linescan.next();
        word = Scannedword;
        count++;
    }

        Scanner openDictionary = new Scanner(new File("Dictionary"));
        String wordInDictionary = openDictionary.next();
        if(word.equals(wordInDictionary)){

        }else{
        System.out.println("Line    " + count + ": " + word);
        openDictionary.close();  
        }

        }
}

1 个答案:

答案 0 :(得分:0)

我宁愿预处理字典文件。

while(readfile.hasNextLine()){ 
        String line = readfile.nextLine();
        Scanner linescan = new Scanner(line);
        String Scannedword = linescan.next();
        word = Scannedword;
        count++;
    }

就像你在这里写的一样,制作一个哈希集或任何你喜欢的容器,并复制到字典文件中的单词。并且,使用另一个循环来完成您的任务(检查容器是否包含您刚读取的单词。)这样,两个循环不会嵌套,因此它将运行O(n)。