我制作了一个Hangman游戏,它由两个类组成,一个WordList类选择要猜测的单词,一个带有GUI的类称为HangmanComplete。这是我的WordList课程:
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
import java.net.URL;
import java.util.ArrayList;
import java.util.Scanner;
public class WordList {
private ArrayList<String> words = new ArrayList();
public WordList(String wordlistFileName) {
try {
Scanner in = new Scanner(new File(wordlistFileName));
while (in.hasNextLine()) {
String line = in.nextLine().trim();
if (line.length() <= 0) continue;
this.words.add(line);
}
}
catch (IOException e) {
throw new IllegalArgumentException("Can't read list of words from " + wordlistFileName);
}
}
public int getWordCount() {
return this.words.size();
}
public String getWord(int index) {
return this.words.get(index);
}
public String removeWord(int index) {
return this.words.remove(index);
}
}
我没有收到任何编译时错误。下面是整个程序的代码:GitHub
当我的教授运行它时,她会得到这样的错误:
jGRASP exec: java HangmanComplete - at: 2015年11月6日9:29:26下午9:29:26--jGRASP楔子:进程pid为610 pids为楔形608和609。-jGRASP楔: CLASSPATH是":.:::/Applications/jGRASP.app/Contents/Resources/jgrasp/extensions/classes".--jGRASP楔:工作目录是/Users/MauraDeek/下载--jGRASP wedge2:实际命令发送给wedge2 HangmanComplete。线程"main“java.lang.IllegalArgumentException中的异常:无法读取wordlist.txt at WordList.(WordList.java:22) at HangmanComplete.(HangmanComplete.java:56) at HangmanComplete--jGRASP楔子:进程的退出代码为1。--jGRASP:操作完成。
发布于 2015-11-06 19:52:38
我想我找到了你问题的解决办法。您应该将"wordlist.txt"文件放在项目中,而不是在源包中。我尝试过使用源文件(.java)放置,我得到了类似的异常,但当尝试将其放置到中时,它的运行情况很好。
请查找以下项目结构。
https://stackoverflow.com/questions/33578732
复制相似问题