我有一项关于大学的拼写检查程序的作业,该程序使用提供给我们的词典文本文件,每行一个单词,数百行单词。因此,我一直在尝试在代码中自制简单的读取文件(chinese.txt),只需要所需的时间,而不是一开始就需要整个字典。我将读取类函数分为两类,一类用于执行它(拼写检查器)。但是,当我尝试执行时,无论线程中的异常如何更改,我都会不断收到相同的错误。
readfile.java:
package coursework2;
import java.io.*;
import java.util.*;
public class readfile {
private Scanner x;
public void openFile() {
try {
x = new Scanner(new File("chinese.txt"));
}
catch(Exception e) {
System.out.println("Not found");
}
}
public void readFile() {
while(x.hasNext()) {
String a = x.next();
String b = x.next();
String c = x.next();
System.out.printf("%s %s %s", a,b,c);
}
}
public void closeFile() {
x.close();
}
spellchecker.java:
epackage coursework2;
class spellchecker {
public static void main(String[] args) {
readfile r = new readfile();
r.openFile();
r.readFile();
r.closeFile();
}
}
文本文件(中文)每行只有几个单词3,因此设置了打印方法的格式。如果有人可以让我知道如何摆脱这个错误,或者是一种更好的方法来启动我的此拼写检查程序的方法,将不胜感激。由于我的实际项目需要使用可能有数千个变量的字典。
亲切问候
一年级Java学习者。
答案 0 :(得分:0)
正如其他人所说,在评论中,您需要告诉我们什么是例外。如下更改openFile函数:
public void openFile()
{
try
{
x = new Scanner(new File("chinese.txt"));
}
catch(Exception e)
{
System.out.println("Exception Raised: " + e.getMessage());
}
}
重新运行它,并告诉我们打印出来的内容。如果问题不在openFile()内,则以与上述相同的方式在readFile()内的代码周围放置一个异常处理程序,并告诉我们它在那里打印的内容。