Java でよく発生する例外は NumberFormatException です。これは、文字列を使用して数値を解析するときに、文字列に数値以外の文字が含まれていると、この例外がトリガーされるためです。この記事では、NumberFormatException 例外の解決策を紹介します。
数値を入力するフォームでは、ユーザーの間違いを防ぐために、一般的に検証が必要です。たとえば、正規表現を使用して、入力文字列が数値かどうかを確認できます。数値でない場合は、例外がスローされます。以下に例を示します。
String input = "abc123"; if (!input.matches("\d+")) { throw new NumberFormatException("输入的不是数字!"); } int num = Integer.parseInt(input);
プログラムでは、入力文字列に数値以外の文字が含まれている可能性があることが明確にわかっている場合、問題を解決できます。異常をキャッチする例外による NumberFormatException。以下は例です。
String input = "abc123"; try { int num = Integer.parseInt(input); } catch (NumberFormatException e) { System.out.println("输入的不是数字!"); e.printStackTrace(); }
場合によっては、NumberFormatException 例外によるプログラムの中断を避けるために、次のように設定できます。文字列を数値に変換するためのデフォルト値。たとえば、入力が null 文字の場合、デフォルトの数値は 0 です。以下に例を示します。
String input = ""; int num; try { num = Integer.parseInt(input); } catch (NumberFormatException e) { num = 0; } System.out.println(num); // 输出0
文字列を使用して数値を変換する場合は、入力文字列が空かどうかに注意する必要があります。は空です。入力文字列が空の場合、変換は行われません。したがって、変換操作を実行する前に、まず文字列が空かどうかを判断することをお勧めします。以下に例を示します。
String input = ""; if (input != null && input.length() > 0) { int num = Integer.parseInt(input); } else { System.out.println("输入的字符串为空,无法转为数字!"); }
つまり、文字列を数値に変換するときは、入力された文字が数値であるかどうか、および空文字であるかどうかに注意してください。必要に応じて、例外キャッチを使用して NumberFormatException 例外を処理できます。これらのメソッドを通じて、NumberFormatException 例外をより効率的に解決できます。
以上がJava での NumberFormatException 例外の解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。