Java での NumberFormatException 例外の解決策

王林
リリース: 2023-06-25 18:52:18
オリジナル
2286 人が閲覧しました

Java でよく発生する例外は NumberFormatException です。これは、文字列を使用して数値を解析するときに、文字列に数値以外の文字が含まれていると、この例外がトリガーされるためです。この記事では、NumberFormatException 例外の解決策を紹介します。

  1. フォーム検証

数値を入力するフォームでは、ユーザーの間違いを防ぐために、一般的に検証が必要です。たとえば、正規表現を使用して、入力文字列が数値かどうかを確認できます。数値でない場合は、例外がスローされます。以下に例を示します。

String input = "abc123";
if (!input.matches("\d+")) {
    throw new NumberFormatException("输入的不是数字!");
}
int num = Integer.parseInt(input);
ログイン後にコピー
  1. Exception catching

プログラムでは、入力文字列に数値以外の文字が含まれている可能性があることが明確にわかっている場合、問題を解決できます。異常をキャッチする例外による NumberFormatException。以下は例です。

String input = "abc123";
try {
    int num = Integer.parseInt(input);
} catch (NumberFormatException e) {
    System.out.println("输入的不是数字!");
    e.printStackTrace();
}
ログイン後にコピー
  1. 文字列を数値に変換するためのデフォルト値

場合によっては、NumberFormatException 例外によるプログラムの中断を避けるために、次のように設定できます。文字列を数値に変換するためのデフォルト値。たとえば、入力が null 文字の場合、デフォルトの数値は 0 です。以下に例を示します。

String input = "";
int num;
try {
    num = Integer.parseInt(input);
} catch (NumberFormatException e) {
    num = 0;
}
System.out.println(num); // 输出0
ログイン後にコピー
  1. 文字列が空かどうかを確認する

文字列を使用して数値を変換する場合は、入力文字列が空かどうかに注意する必要があります。は空です。入力文字列が空の場合、変換は行われません。したがって、変換操作を実行する前に、まず文字列が空かどうかを判断することをお勧めします。以下に例を示します。

String input = "";
if (input != null && input.length() > 0) {
    int num = Integer.parseInt(input);
} else {
    System.out.println("输入的字符串为空,无法转为数字!");
}
ログイン後にコピー

つまり、文字列を数値に変換するときは、入力された文字が数値であるかどうか、および空文字であるかどうかに注意してください。必要に応じて、例外キャッチを使用して NumberFormatException 例外を処理できます。これらのメソッドを通じて、NumberFormatException 例外をより効率的に解決できます。

以上がJava での NumberFormatException 例外の解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!