Rumah >Java >javaTutorial >Dalam senario apakah NumberFormatException berlaku di Java?

Dalam senario apakah NumberFormatException berlaku di Java?

WBOY
WBOYasal
2023-06-25 10:32:521103semak imbas

Java ialah bahasa pengaturcaraan berorientasikan objek dan digunakan secara meluas dalam pelbagai bidang pembangunan. Dalam kod Java, NumberFormatException kadangkala berlaku. Artikel ini akan membincangkan secara terperinci senario kejadian pengecualian NumberFormatException di Java.

NumberFormatException ialah pengecualian masa jalan dalam Java, yang menunjukkan bahawa format tidak betul semasa penukaran rentetan kepada nombor dan tidak boleh ditukar kepada jenis nombor yang sepadan. Di Jawa, terdapat beberapa kaedah yang perlu menukar rentetan kepada jenis angka, seperti: parseInt(), parseDouble(), parseByte(), dsb. Apabila rentetan tidak memenuhi format untuk penukaran kepada jenis angka yang sepadan, NumberFormatException dilemparkan.

Berikut ialah beberapa situasi di mana pengecualian NumberFormatException mungkin berlaku:

  1. Rentetan kosong atau tidak memenuhi keperluan

Apabila rentetan kosong atau format tidak memenuhi keperluan jenis angka, untuk contoh: ia mengandungi aksara bukan angka atau Jika terdapat berbilang titik perpuluhan, dsb., NumberFormatException akan dilemparkan.

Sebagai contoh, kod berikut akan membuang NumberFormatException:

String str1 = "";
int num1 = Integer.parseInt(str1);  //抛出NumberFormatException异常
  1. Jenis berangka melebihi julat

Apabila rentetan ditukar kepada jenis angka dan melebihi julat jenis, NumberFormatException akan dilemparkan.

Sebagai contoh, kod berikut akan membuang pengecualian NumberFormatException:

String str2 = "2147483648";  //int范围是-2147483648 ~ 2147483647
int num2 = Integer.parseInt(str2);  //抛出NumberFormatException异常
  1. Menggunakan asas yang salah

Apabila rentetan ditukar kepada jenis angka mengikut asas yang salah, pengecualian NumberFormatException akan dilemparkan.

Sebagai contoh, kod berikut akan membuang NumberFormatException:

String str3 = "A"; //按照十进制转换是有问题的
int num3 = Integer.parseInt(str3, 10); //抛出NumberFormatException异常

Apabila memilih pangkalan, ia perlu sepadan dengan rentetan asal. Contohnya, "A" mewakili sepuluh dalam perenambelasan dan tidak boleh ditukar kepada perpuluhan.

  1. Terdapat ruang dalam rentetan

Apabila terdapat ruang dalam rentetan, NumberFormatException akan dilemparkan apabila ia ditukar kepada jenis angka.

Sebagai contoh, kod berikut akan membuang NumberFormatException:

String str4 = "12 34"; //两个数字中间有空格
int num4 = Integer.parseInt(str4); //抛出NumberFormatException异常

Apabila menukar jenis rentetan, anda perlu mengalih keluar bahagian bukan angka, jika tidak, keputusan yang tidak dapat diramalkan akan berlaku.

Ringkasan:

Dalam pembangunan Java, pembangun perlu mengendalikan pengecualian NumberFormatException dengan berhati-hati, jika tidak, ia akan membawa kepada keputusan yang tidak dapat diramalkan dalam pengendalian program. Dalam situasi di atas, Java mengendalikan pengecualian NumberFormatException dengan cara yang sama seperti pengecualian masa jalan lain Anda boleh menggunakan blok try...catch untuk pengendalian pengecualian untuk memastikan keteguhan dan keberkesanan program.

Atas ialah kandungan terperinci Dalam senario apakah NumberFormatException berlaku 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