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!