是什么原因导致我的教授在运行我的程序时遇到异常,但它在我的计算机上工作正常?

时间:2015-11-07 03:12:36

标签: java

我做了一个包含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:操作完成。

1 个答案:

答案 0 :(得分:1)

我想我找到了你问题的解决方案。您应该将&#34; wordlist.txt&#34; 文件放在项目中而不是在源包中。我试过放置源文件(.java)我得到了类似的异常,但是当我尝试将它放在Project中运行正常时。

请找到以下项目结构。

Project Strucure