Pengecualian yang sering berlaku di Java ialah NumberFormatException Ini kerana apabila menghuraikan rentetan kepada nombor, pengecualian ini akan dicetuskan jika rentetan mengandungi aksara bukan angka. Artikel ini akan memperkenalkan penyelesaian kepada pengecualian NumberFormatException.
Dalam borang untuk memasukkan nombor, untuk mengelakkan pengguna daripada membuat kesilapan, pengesahan biasanya diperlukan. Sebagai contoh, anda boleh menggunakan ungkapan biasa untuk menyemak sama ada rentetan input ialah nombor. Jika ia bukan nombor, pengecualian dilemparkan. Berikut ialah contoh:
String input = "abc123"; if (!input.matches("\d+")) { throw new NumberFormatException("输入的不是数字!"); } int num = Integer.parseInt(input);
Dalam program, jika jelas diketahui bahawa rentetan input mungkin mengandungi aksara bukan angka, pengecualian NumberFormatException boleh diselesaikan dengan penangkapan pengecualian. Berikut ialah contoh:
String input = "abc123"; try { int num = Integer.parseInt(input); } catch (NumberFormatException e) { System.out.println("输入的不是数字!"); e.printStackTrace(); }
Dalam sesetengah kes, untuk mengelakkan gangguan program akibat pengecualian NumberFormatException, anda boleh menetapkan nilai lalai untuk menukar rentetan kepada nombor. Sebagai contoh, jika input ialah aksara nol, nombor lalai ialah 0. Berikut ialah contoh:
String input = ""; int num; try { num = Integer.parseInt(input); } catch (NumberFormatException e) { num = 0; } System.out.println(num); // 输出0
Apabila menggunakan rentetan untuk menukar nombor, anda perlu memberi perhatian sama ada rentetan input kosong. Jika rentetan input kosong, penukaran tidak boleh berlaku. Oleh itu, adalah disyorkan untuk terlebih dahulu menentukan sama ada rentetan itu kosong sebelum melakukan operasi penukaran. Berikut ialah contoh:
String input = ""; if (input != null && input.length() > 0) { int num = Integer.parseInt(input); } else { System.out.println("输入的字符串为空,无法转为数字!"); }
Ringkasnya, apabila menukar rentetan kepada nombor, perhatikan sama ada aksara yang dimasukkan adalah nombor dan sama ada ia kosong. Jika perlu, anda boleh menggunakan penangkapan pengecualian untuk mengendalikan pengecualian NumberFormatException. Melalui kaedah ini, pengecualian NumberFormatException boleh diselesaikan dengan lebih cekap.
Atas ialah kandungan terperinci Penyelesaian kepada pengecualian NumberFormatException di Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!