我做了一个包含2个类的Hangman游戏,一个用于选择要猜测的单词的WordList类和一个名为HangmanComplete的GUI类。 这是我的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:Nov 6,2015 9:29:26 PM ---- jGRASP wedge:pid for process是610 pids for wedge是608和609. ---- jGRASP wedge :CLASSPATH是&#34;:。::: / Applications / jGRASP.app / Contents / Resources / jgrasp / extensions / classes&#34;。 ---- jGRASP wedge:工作目录是/ Users / MauraDeek / Downloads ---- jGRASP wedge2:实际命令发送[/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/bin/java HangmanComplete] 。线程&#34; main&#34;中的例外情况java.lang.IllegalArgumentException:无法在HangmanComplete上的WordList。(WordList.java:22)中的wordlist.txt读取单词列表。(HangmanComplete.java:56)在HangmanComplete.main(HangmanComplete.java:122) ---- jGRASP wedge:进程的退出代码是1. ---- jGRASP:操作完成。
答案 0 :(得分:1)
我想我找到了你问题的解决方案。您应该将&#34; wordlist.txt&#34; 文件放在项目中而不是在源包中。我试过放置源文件(.java)我得到了类似的异常,但是当我尝试将它放在Project中运行正常时。
请找到以下项目结构。