私は宿題 (Hangman) に取り組んでいます。完成しましたが、例外を追加する必要があり、苦労しています。明日が期限ですが、まだ講師から連絡がないので、待っている間にここに投稿しようと思いました. 割り当てにはこれが必要です。
public booleanguessCharacter(charguess) 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;
}
単語の長さに基づいて、このメソッドを何度も呼び出して、単語の各文字に対するユーザーの推測をチェックすることに注意してください。もっとエレガントな方法があると確信しています。また、ドライバークラスのブール値の結果をどうするのが役立つかわかりません。
前もって感謝します!