【发布时间】:2013-02-24 06:06:21
【问题描述】:
我正在做家庭作业(刽子手)。它已经完成了,但是我需要添加一个异常并且遇到了困难。明天就要到期了,我还没有收到导师的消息,所以我想我会在继续等待的同时在这里发帖。作业需要这样:
public boolean guessCharacter(char guess) 抛出异常 - 这个方法 返回给定字符是否是关键短语的一部分。如果 猜到的字符是有效的,那么这个方法应该返回真,假 否则。如果猜测已被猜到,则应抛出异常 之前(可以通过调用它的代码来处理 方法)。
我假设我需要在工作类方法中抛出异常并在调用该方法的工作类中处理它。我搜索了一下,发现了这个:
在您的 GUI 中保留对您的工作人员的引用,并在您的作品中添加一个 试着抓。在 catch 中将异常分配给一个变量并添加一个 吸气剂。在您的 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;
}
需要注意的是,我根据单词的长度多次调用此方法,以检查用户对单词中每个字母的猜测。我敢肯定有一种更优雅的方式,我只是还没有想出一个。我也不确定对驱动程序类中的布尔结果有什么用处。
提前致谢!
【问题讨论】:
-
您可以通过在
catch块内执行throw e重新抛出异常。