クロスワードパズルのようなものを試しています。5 x 5 グリッドで。そのうちの 25 個には異なる文字が含まれており、1 個は送信ボタンです。したがって、送信ボタンを押すたびに。それはこのようなことをします。str はテキスト ファイルから取得した単語で、guess は char 配列です。
if (count == str.length())
{
String a = String.copyValueOf(guess);
a= a.replaceAll("\\s+$", "");
if (str.equals(a))
{
JOptionPane.showMessageDialog(null, "Correct! Well Done!");
score += 10;
totalScore.setText ("Score: " + score);
}
else
JOptionPane.showMessageDialog(null, "Please try again");
問題は、答えが正しいかどうかに関係なく、「もう一度やり直してください」と表示されるだけです。配列サイズを [5] に変更すると機能しますが、6 つのボタンをクリックすると範囲外になります。誰でもこれの何が問題なのか教えてもらえますか?
編集:私はメッセージダイアログを追加しました、そしてそれは後ろにたくさんのスペースでジャンプを表示します
JOptionPane.showMessageDialog(null, "|" + a + "|" + str + "|");
それをに変更する
a= a.replace(" ", "");
も機能しません。