Rumah >Java >javaTutorial >Bagaimana untuk Mencegah `java.lang.NumberFormatException` Apabila Menghuraikan Rentetan Bukan Integer dalam Java?

Bagaimana untuk Mencegah `java.lang.NumberFormatException` Apabila Menghuraikan Rentetan Bukan Integer dalam Java?

Susan Sarandon
Susan Sarandonasal
2024-12-08 14:17:11273semak imbas

How to Prevent `java.lang.NumberFormatException` When Parsing Non-Integer Strings in Java?

Mencegah java.lang.NumberFormatException untuk Input Rentetan Bukan Integer

Semasa menghadapi java.lang.NumberFormatException dengan mesej "Untuk input rentetan: "N/A"", ini menunjukkan bahawa anda sedang cuba menghuraikan rentetan yang tidak mewakili rentetan yang sah integer menjadi nilai integer. Rentetan "N/A" dalam kes ini bukan integer.

Penyelesaian:

Terdapat dua pendekatan untuk menghalang pengecualian ini:

Pengendalian Pengecualian:

Gunakan blok cuba-tangkap untuk mengendalikan NumberFormatException dan ambil tindakan yang sewajarnya sekiranya berlaku rentetan bukan integer:

try {
    int i = Integer.parseInt(input);
} catch (NumberFormatException ex) {
    // Handle the exception here, e.g., print an error message or replace the non-integer value with a default value.
}

Pemadanan Corak Integer:

Sahkan rentetan input menggunakan ungkapan biasa sebelum menghuraikannya ke integer:

String pattern = "-?\d+";
if (input.matches(pattern)) { // Checks if the string matches the pattern of an integer (including negative values)
    int i = Integer.parseInt(input);
} else {
    // The input string is not an integer. Handle it appropriately.
}

Dengan melaksanakan salah satu daripada pendekatan ini, anda boleh memastikan bahawa hanya rentetan integer yang sah sahaja dihuraikan menjadi integer, menghalang berlakunya java.lang.NumberFormatException.

Atas ialah kandungan terperinci Bagaimana untuk Mencegah `java.lang.NumberFormatException` Apabila Menghuraikan Rentetan Bukan Integer dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn