0

問題が発生しているコードのスニペットは次のとおりです。

            int inputIsInt = Integer.valueOf(JTextFieldName.getText());
            String format = NumberFormat.getInstance().format(inputIsInt);
            boolean isSame = format.equals(JTextFieldName.getText());
            if (isSame == true) {...
4

1 に答える 1

6

診断の明らかな次のステップは、フォーマットされた両方の文字列を出力することです。「1,000」と「1000」の違いだと思うかもしれませんが、それはロケールによって異なります。

この経験から学ぶべき重要なことは、文字列の書式設定をまったく行うことではなく、デバッグと診断に関することです。

  • 両方の文字列をログに記録して、違いを判断できます
  • 両方の値を表示する短いが完全なプログラムを作成することもできます。
  • プログラムの実行中にデバッガーを使用して値を調べることもできました
  • ユニットテストを書くことができたでしょう

これらすべてのオプションを理解し、いつどのオプションを使用するかを考えてください。これにより、より優れた開発者になり、将来の問題を自分で解決できるようになります。(私は誰かを助けてもかまいませんが、自分自身を助けることができれば、一般的には速くなります:)

于 2012-08-04T17:55:08.697 に答える