0

クロスワードパズルのようなものを試しています。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(" ", "");

も機能しません。

4

1 に答える 1

0

trim() 関数を使用します。文字列からスペースを削除する最も簡単な方法。

于 2013-05-17T11:20:22.220 に答える