Rumah > Java > javaTutorial > teks badan

Penyelesaian kepada pengecualian NumberFormatException di Java

王林
Lepaskan: 2023-06-25 18:52:18
asal
2300 orang telah melayarinya

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);
Salin selepas log masuk
  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();
}
Salin selepas log masuk
  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
Salin selepas log masuk
  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("输入的字符串为空,无法转为数字!");
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan