Rumah >Java >javaTutorial >Penyelesaian kepada pengecualian NumberFormatException di Java

Penyelesaian kepada pengecualian NumberFormatException di Java

王林
王林asal
2023-06-25 18:52:182334semak imbas

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.

  1. Pengesahan borang

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);
  1. Exception catching

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();
}
  1. Nilai lalai untuk menukar rentetan kepada nombor

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
  1. Periksa sama ada rentetan itu kosong

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!

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