我正在做家庭作业(Hangman)。它已经完成了,但是我需要添加一个异常并且遇到了困难。明天就要到期了,我还没有收到我导师的消息,所以我想我会在继续等待的同时在这里发帖。作业需要这样:
public boolean guessCharacter(char guess) throws Exception - 此方法返回给定字符是否是关键短语的一部分。如果猜测的字符有效,则此方法应返回 true,否则返回 false。如果之前已经猜到了猜测,则应该抛出异常(这可以通过调用此方法的代码来处理)。
我假设我需要在工作类方法中抛出异常并在调用该方法的工作类中处理它。我搜索了SO并发现了这个:
在您的 GUI 中保留对您的工作人员的引用,并在您的工作中添加一个 try catch。在 catch 中将异常分配给一个变量并为其添加一个 getter。在您的 GUI 中,当您的工作人员完成后,只需检查工作人员中是否存在异常。
这看起来像是我需要做的,但我不确定如何实现它。我想要一个代码示例。这是我到目前为止所拥有的(guessedLetters是一个集合):
public boolean guessCharacter(char guess) throws Exception
{
// Reset index
if (index == keyPhrase.length())
index = 0;
// Determine if guessed letter is part of word
if (guess == keyPhrase.charAt(index))
{
isValid = true;
boardArray[index] = guess; // If it is, place it correctly in array
try {
// SOME TYPE a = guessedLetters.add(Character.toString(guess));
} catch (Exception e) {
// a = not sure what to do here;
}
} else
isValid = false;
index++;
return isValid;
}
需要注意的是,我根据单词的长度多次调用此方法,以检查用户对单词中每个字母的猜测。我敢肯定有一种更优雅的方式,我只是还没有想出一个。我也不确定对驱动程序类中的布尔结果有什么用处。
提前致谢!