Jadual Kandungan
Example #2
Conclusion
Rumah Java javaTutorial NumberFormatException dalam Java

NumberFormatException dalam Java

Aug 30, 2024 pm 04:14 PM
java

NumberFormatException ialah pengecualian tidak ditandai dalam java yang berlaku apabila pengguna cuba menukar rentetan kepada nilai angka. NumberFormatException ialah kelas terbina dalam java yang ditakrifkan dalam pakej Java.lang.NumberFormatException. Kelas IllegalArgumentException ialah superclass NumberFormatException kerana ia adalah pengecualian yang tidak ditanda, jadi ia tidak dipaksa untuk mengendalikan dan mengisytiharkannya. NumberFormatException sebenarnya dilemparkan oleh fungsi parseXXX() apabila fungsi tidak dapat menukar atau memformat(menukar ) rentetan kepada nilai berangka seperti integer, float, double dsb., kerana format rentetan input adalah haram dan tidak sesuai . Sebagai contoh, dalam program Java, kadangkala input pengguna diterima melalui argumen baris arahan sebagai medan teks dalam bentuk rentetan. Dan untuk menggunakan rentetan ini dalam beberapa operasi aritmetik, ia perlu menghuraikan atau menukar kepada jenis data (jenis angka khusus) terlebih dahulu dengan menggunakan fungsi parseXXX() kelas pembalut.

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Hierarki kelas NumberFormatException ialah:

Objek ->Boleh Lempar -> Pengecualian ->RuntimeException ->NumberFormatException>.

Sintaks

Berikut ialah pengisytiharan untuk java.io. Kelas PrintWriter.

public class NumberFormatException extends IllegalArgumentException implements Serializable
{
// Constructors of the NumberFormatException class
}
Di atas ialah sintaks NumberFormatException, di mana ia dilanjutkan kepada:

IllegalArgumentException class and implements Serializable
Bagaimana NumberFormatException berfungsi dalam Java?

Apabila percubaan dibuat untuk menukar rentetan kepada nombor, NumberFormatException berlaku. Penukaran jenis ini dilakukan dengan menggunakan fungsi seperti Integer.parseInt(), Float.parseFloat() dan semua. Katakan kita memanggil fungsi Integer.parseInt(s) di mana s ialah sejenis String dan nilainya ialah rentetan "30", jadi fungsi itu menukar nilai rentetan dengan betul kepada int 30. Tetapi apa yang berlaku? Jika nilai s sepatutnya "tiga puluh", yang menyalahi undang-undang, maka fungsi itu gagal dan membuang pengecualian: NumberFormatException. Untuk mengendalikan pengecualian ini, kita boleh menulis blok tangkapan untuknya; jika pengecualian tidak dikendalikan, maka program akan ranap.

Terdapat pelbagai sebab untuk membuang NumberFormatException, seperti yang dapat kita lihat di bawah –

    Rentetan yang disediakan untuk ditukar mungkin batal. Cth :Integer.parseInt(null);
  • Rentetan yang disediakan mungkin panjangnya sifar. Cth :Integer.parseInt(“”);
  • Rentetan yang disediakan mungkin tidak mempunyai aksara angka. Cth:Integer.parseInt(“Tiga Puluh”);
  • Rentetan yang disediakan mungkin tidak mewakili nilai Integer. Cth :Integer.parseInt(“FG67”);
  • T Rentetan yang disediakan mungkin kosong. Cth :Integer.parseInt(“”);
  • Rentetan yang disediakan mungkin ruang di belakang. Cth :Integer.parseInt(“785”);
  • Rentetan yang disediakan mungkin mendahului ruang. Cth :Integer.parseInt(” 785 “);
  • Rentetan yang disediakan mungkin mengandungi abjad angka. Cth :Long.parseLong(“F5”);
  • Rentetan yang disediakan mungkin jenis data yang disokong di luar julat. Cth: Integer.parseInt(“139”);
  • Rentetan yang disediakan dan fungsi yang digunakan untuk menukar mungkin daripada jenis data yang berbeza.Cth :Integer.parseInt(“3.56”);
Pembina

  • NumberFormatException(): Pembina ini menciptaNumberFormatException tanpa mesej khusus yang terperinci.
  • NumberFormatException(String s): Pembina ini mencipta NumberFormatException dengan mesej khusus secara terperinci.
Contoh untuk Melaksanakan NumberFormatException dalam Java

Di bawah ialah contoh untuk dilaksanakan:

Contoh #1

Seterusnya, kami menulis kod java untuk memahami NumberFormatException dengan lebih jelas dengan contoh berikut di mana kami mencipta objek PrintWriter dengan menggunakan pembina kelas PrintWriter dan lulus nama fail untuk menulis di dalamnya, seperti di bawah –

Kod:

//package p1;
import java.util.Scanner;
public class Demo
{
public static void main( String[] arg) {
int age;
Scanner sc = new Scanner(System.in);
System.out.println("Please Enter your age : ");
//throws Exception as if the input string is of illegal format for parsing as it as null or alphanumeric.
age = Integer.parseInt(sc.next());
System.out.println("Your age is : " +age);
}
}

Output:

Apabila pengguna memasukkan "25+", output kod di atas ialah:

NumberFormatException dalam Java

Apabila pengguna memasukkan bukan rentetan "25F" yang diformat dengan baik, outputnya ialah:

NumberFormatException dalam Java

Apabila pengguna memasukkan rentetan "Twenty Five", outputnya ialah:

NumberFormatException dalam Java

Apabila pengguna memasukkan rentetan "null", outputnya ialah:

NumberFormatException dalam Java

Apabila pengguna memasukkan nilai rentetan sebagai apungan "40.78", outputnya ialah:

NumberFormatException dalam Java

When the user enters a string “25”, which is a valid string. The output is:

NumberFormatException dalam Java

Explanation: As in the above code, the age value is accepted from the user in string format, which further converts into the integer format by using the Integer.parseInt(sc.next()) function. While the user an illegal input string or not a well-formatted string, the NumberFormatException occurs, it throws, and the program terminates unsuccessfully. So to provide the valid string, it should be taken care that an input string should not be null, check an argument string matches the type of the conversion function used and also check if any unnecessary spaces are available; if yes, then trim it and so all care must be taken.

Example #2

Next, we write the java code to understand the NumberFormatException where we generate the NumberFormatException and handle it by using the try-catch block in the program, as below –

Code:

//package p1;
import java.util.Scanner;
public class Demo
{
public static void main( String[] arg) {
int age;
Scanner sc = new Scanner(System.in);
try
{
System.out.println("Please Enter your age : ");
//throws Exception as if the input string is of illegal format for parsing as it as null or alphanumeric.
age = Integer.parseInt(sc.next());
System.out.println("Your age is : " +age);
} catch(NumberFormatException e)
{
System.out.println("The NumberFormatExceptionoccure.");
System.out.println("Please enter the valid age.");
}
}
}

When the user enters a string “23F”, the output is:

NumberFormatException dalam Java

When a user enters a string “23”, the output is:

NumberFormatException dalam Java

Explanation: As in the above code try-catch block is used. It is always a good practice to enclose lines of code that can throw an exception in a try-catch block by which it handles the NumberFormatException and prevents it from generating the Exception.

Conclusion

The NumberFormatException in java is an unchecked exception that occurs when a not well-formatted string is trying to converts into a numeric value by using the parseXXX() functions. The NumberFormatException is a built-in class in which is defined in the Java.lang.NumberFormatException package.

Atas ialah kandungan terperinci NumberFormatException dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1600
276
Apakah kebuntuan di Java dan bagaimana anda boleh menghalangnya? Apakah kebuntuan di Java dan bagaimana anda boleh menghalangnya? Aug 23, 2025 pm 12:55 PM

Adeadlockinjaoccurswhentwoormorethreadsareblockedforever, eachwaitingforaresourceHeldByTheother, biasanyaduetoculularwaitcausedbyinconsistentlockordering;

Anda tidak menggunakan paparan yang dilampirkan pada GPU NVIDIA [tetap] Anda tidak menggunakan paparan yang dilampirkan pada GPU NVIDIA [tetap] Aug 19, 2025 am 12:12 AM

Ifyousee"YouarenotusingadisplayattachedtoanNVIDIAGPU,"ensureyourmonitorisconnectedtotheNVIDIAGPUport,configuredisplaysettingsinNVIDIAControlPanel,updatedriversusingDDUandcleaninstall,andsettheprimaryGPUtodiscreteinBIOS/UEFI.Restartaftereach

Bagaimana cara menggunakan pilihan di Java? Bagaimana cara menggunakan pilihan di Java? Aug 22, 2025 am 10:27 AM

UseOptional.empty (), optional.of (), andOptional.ofnullable () tOcreateOptionalInStancesDependingOnwhethetheValueisabsent, non-null, orpossiblynull.2.CheckForvalUessafelySpresent () orprefeAdoShoDoD.

Membina aplikasi java awan-asli dengan micronaut Membina aplikasi java awan-asli dengan micronaut Aug 20, 2025 am 01:53 AM

Micronautisidealforbuildingcloud-nativaapplicationsduetoitslowmemoryfootprint, fastStartuptimes, dan kompilasi-timedependencyinjection, makeitsuperiortotraditionalframeworkslikespringbootformicroservices, dan

Senibina Kriptografi Java (JCA) untuk pengekodan selamat Senibina Kriptografi Java (JCA) untuk pengekodan selamat Aug 23, 2025 pm 01:20 PM

Memahami komponen teras JCA seperti MessageDigest, Cipher, KeyGenerator, SecureRandom, Signature, Keystore, dan lain -lain, yang melaksanakan algoritma melalui mekanisme penyedia; 2. Gunakan algoritma dan parameter yang kuat seperti SHA-256/SHA-512, AES (Kunci 256-bit, mod GCM), RSA (2048-bit atau ke atas) dan SecureRandom; 3. Elakkan kunci berkod keras, gunakan KeyStore untuk menguruskan kunci, dan menjana kunci melalui kata laluan yang diperoleh dengan selamat seperti PBKDF2; 4. Lumpuhkan mod ECB, mengamalkan mod penyulitan pengesahan seperti GCM, menggunakan IV rawak yang unik untuk setiap penyulitan, dan yang sensitif yang jelas pada waktunya

Java Kegigihan dengan Data Spring JPA dan Hibernate Java Kegigihan dengan Data Spring JPA dan Hibernate Aug 22, 2025 am 07:52 AM

Inti springdatajpa dan hibernate yang bekerja bersama adalah: 1. JPA adalah spesifikasi dan hibernate adalah pelaksanaan, SpringDatajpa enkapsulasi memudahkan pembangunan DAO; 2. Kelas entiti Peta pangkalan data pangkalan data melalui @Entity, @id, @column, dan sebagainya; 3. Antara muka repositori mewarisi JParepository untuk melaksanakan kaedah pertanyaan CRUD dan dinamakan secara automatik; 4. Pertanyaan Kompleks Gunakan @Query Anotation untuk menyokong JPQL atau SQL asli; 5. Dalam springboot, integrasi disiapkan dengan menambah kebergantungan starter dan mengkonfigurasi sumber data dan atribut JPA; 6. Urus niaga dibuat oleh @transactiona

Tetap: Windows menunjukkan 'Keistimewaan yang diperlukan tidak dipegang oleh pelanggan' Tetap: Windows menunjukkan 'Keistimewaan yang diperlukan tidak dipegang oleh pelanggan' Aug 20, 2025 pm 12:02 PM

RuntheapplicationorcommandasAdministratorbyright-clickingandselecting"Runasadministrator"toensureelevatedprivilegesaregranted.2.CheckUserAccountControl(UAC)settingsbysearchingforUACintheStartmenuandsettingtheslidertothedefaultlevel(secondfr

Bagaimana cara menggunakan corak dan kelas matcher di Java? Bagaimana cara menggunakan corak dan kelas matcher di Java? Aug 22, 2025 am 09:57 AM

Kelas corak digunakan untuk menyusun ungkapan biasa, dan kelas Matcher digunakan untuk melakukan operasi yang sepadan pada rentetan. Gabungan kedua -duanya dapat merealisasikan carian teks, padanan dan penggantian; Mula -mula buat objek corak melalui corak.comPile (), dan kemudian panggil kaedah pencocokannya () untuk menghasilkan contoh yang sepadan. Kemudian gunakan perlawanan () untuk menilai pemadanan rentetan penuh, cari () untuk mencari berikutnya, menggantikan () atau penggantiFirst () untuk penggantian. Jika biasa mengandungi kumpulan penangkapan, kandungan kumpulan nth boleh diperolehi melalui kumpulan (n). Dalam aplikasi sebenar, anda harus mengelakkan corak penyusunan berulang, memberi perhatian kepada watak khas yang melarikan diri, dan menggunakan bendera corak yang sepadan seperti yang diperlukan, dan akhirnya mencapai cekap

See all articles