宿題: 次のコードで範囲外を取得してインデックスを作成しています。char
絞首刑のゲームで、当てた文字を配列で追跡しています。
ここに私が作った仮定があります:
char[] displayGuesses = new char[26];
呼び出し元のメソッドでは、以下のメソッドにパラメーターとして渡される未入力の配列 ( ) がありchar[] usedLetters
ます。- 文字推測の最初の反復では、配列は空になります。
- 長さは0になります。
- パラメータを入力
usedLetters[0]
しletterGuessed
ます。 次回は、配列の長さが1になるので、
usedLetters[1]
データが取り込まれます...などです。public char[] trackUsedLetters(char letterGuessed, char[] usedLetters) { int letterIndex = usedLetters.Length; usedLetters[letterIndex] = letterGuessed; return usedLetters; }
起こっていると思われることがいくつかあります。
- 最初の実行での長さを取得しようとすると
usedLetters
、空の配列はゼロではなく null を返します。ブーム。立入禁止で。 - 26 メンバーで定義された空の配列を渡すと問題が発生します...? しかし、その問題が何であるかさえわからないので、関連する結果を得るために何をグーグルするべきかわかりません。
- スコープに問題がある可能性があります。ループを使用していますが、Java の同様の質問へのこのリンクを見つけました。Java ユーザーが何を求めていたのかはよく
for
わかりませんが、いくつかの問題は聞き覚えがありました。
これを見て、これを解決するための正しい方向に向けるために、2 番目の目が必要です。