


Kaedah untuk menyelesaikan rentetan Java kepada pengecualian nombor (NumberFormatException)
Aug 21, 2023 pm 01:40 PMKaedah untuk menyelesaikan pengecualian penukaran rentetan Java kepada nombor (NumberFormatException)
Dalam pengaturcaraan Java, kita sering menghadapi situasi di mana kita perlu menukar rentetan kepada nombor. Walau bagaimanapun, apabila rentetan tidak boleh ditukar kepada nombor dengan betul, NumberFormatException dilemparkan. Pengecualian ini biasanya berlaku apabila menggunakan parseInt(), parseLong() dan kaedah lain, menyebabkan atur cara gagal berjalan seperti biasa. Untuk mengelakkan pengecualian ini dan menukar rentetan kepada nombor dengan betul, kita boleh mengendalikannya dengan cara berikut.
1. Gunakan pernyataan cuba tangkap untuk menangkap pengecualian
Pernyataan cuba tangkap ialah salah satu cara yang paling biasa digunakan untuk mengendalikan pengecualian. Dengan menggunakan blok cuba untuk melaksanakan operasi penukaran rentetan dan menangkap pengecualian NumberFormatException dalam blok tangkapan, kami boleh mengelakkan ranap program dan melakukan pengendalian ralat.
Kod sampel adalah seperti berikut:
String strNumber = "123abc"; int number; try { number = Integer.parseInt(strNumber); System.out.println("轉(zhuǎn)換后的數(shù)字為: " + number); } catch (NumberFormatException e) { System.out.println("字符串無法轉(zhuǎn)換為數(shù)字"); e.printStackTrace(); }
Dalam contoh di atas, kami cuba menukar rentetan "123abc" yang tidak boleh ditukar kepada integer kepada nombor. Apabila penukaran tidak dapat dilakukan, program akan membuang pengecualian NumberFormatException, melaksanakan kod dalam tangkapan, mengeluarkan mesej ralat "String tidak boleh ditukar kepada nombor", dan mencetak surih tindanan pengecualian.
2. Gunakan ungkapan biasa untuk pra-penghakiman
Dalam aplikasi praktikal, kita boleh menggunakan ungkapan biasa untuk menentukan sama ada rentetan mematuhi format nombor. Jika rentetan tidak memenuhi keperluan, operasi penukaran tidak akan dilakukan untuk mengelak daripada membuang pengecualian NumberFormatException. Berikut ialah contoh ungkapan biasa yang boleh memadankan integer dan nombor titik terapung:
public static boolean isNumeric(String str) { return str.matches("-?\d+(\.\d+)?"); }
Dengan memanggil kaedah isNumeric() untuk pra-menentukan sama ada rentetan itu ialah nombor, anda boleh mengelak daripada membuang pengecualian NumberFormatException.
Kod sampel adalah seperti berikut:
String strNumber = "123abc"; int number; if (isNumeric(strNumber)) { number = Integer.parseInt(strNumber); System.out.println("轉(zhuǎn)換后的數(shù)字為: " + number); } else { System.out.println("字符串無法轉(zhuǎn)換為數(shù)字"); }
Kod di atas akan memanggil kaedah isNumeric() untuk pertimbangan Jika rentetan mematuhi format angka, ia akan ditukar dan hasilnya akan menjadi ralat mesej akan dikeluarkan.
3. Gunakan ungkapan biasa atau kelas alat untuk penukaran
Jika proses pra-penghakiman menyusahkan atau tidak memenuhi keperluan, kami boleh menggunakan ungkapan biasa atau kelas alat untuk operasi penukaran. Contohnya, gunakan kaedah find() bagi kelas Pattern dan Matcher, atau gunakan kaedah kelas utiliti NumberUtils dalam pakej Apache Commons untuk penukaran.
Kod sampel adalah seperti berikut:
import java.util.regex.Pattern; import java.util.regex.Matcher; import org.apache.commons.lang3.math.NumberUtils; String strNumber = "123abc"; int number; Pattern pattern = Pattern.compile("-?\d+"); Matcher matcher = pattern.matcher(strNumber); if (matcher.find()) { number = Integer.parseInt(matcher.group()); System.out.println("轉(zhuǎn)換后的數(shù)字為: " + number); } else { System.out.println("字符串無法轉(zhuǎn)換為數(shù)字"); } // 或者使用NumberUtils工具類 if (NumberUtils.isParsable(strNumber)) { number = Integer.parseInt(strNumber); System.out.println("轉(zhuǎn)換后的數(shù)字為: " + number); } else { System.out.println("字符串無法轉(zhuǎn)換為數(shù)字"); }
Dalam kod di atas, kami menggunakan ungkapan biasa dan kaedah find() kelas Matcher, atau menggunakan kaedah kelas alat NumberUtils dalam pakej Apache Commons untuk melaksanakan penukaran operasi. Kedua-dua cara mengelakkan pengecualian NumberFormatException dan menukar rentetan kepada nombor dengan betul.
Ringkasnya, kami boleh menyelesaikan masalah penukaran rentetan Java kepada pengecualian nombor (NumberFormatException) dengan menggunakan pernyataan cuba-tangkap untuk menangkap pengecualian, menggunakan ungkapan biasa untuk pra-penghakiman atau menggunakan ungkapan biasa atau kelas alat untuk penukaran. Memilih penyelesaian yang sesuai berdasarkan keperluan sebenar dapat memastikan kestabilan dan kebolehpercayaan program.
Atas ialah kandungan terperinci Kaedah untuk menyelesaikan rentetan Java kepada pengecualian nombor (NumberFormatException). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Dalam springboot, gunakan redis untuk objek OAuth2Authorization Cache OAuth2. Dalam aplikasi Springboot, gunakan SpringsecurityoAuth2Authorizationsererver ...

Di MySQL, tambah medan menggunakan alterTabletable_nameaddcolumnnew_columnvarchar (255) afterexisting_column, memadam medan menggunakan altertabletable_namedropcolumncolumn_to_drop. Apabila menambah medan, anda perlu menentukan lokasi untuk mengoptimumkan prestasi pertanyaan dan struktur data; Sebelum memadam medan, anda perlu mengesahkan bahawa operasi itu tidak dapat dipulihkan; Mengubah struktur jadual menggunakan DDL dalam talian, data sandaran, persekitaran ujian, dan tempoh masa beban rendah adalah pengoptimuman prestasi dan amalan terbaik.

Dalam memproses penulisan seterusnya yang dihasilkan JWT ...

Perintah Gitstatus digunakan untuk memaparkan status direktori kerja dan kawasan penyimpanan sementara. 1. Ia akan menyemak cawangan semasa, 2. Bandingkan direktori kerja dan kawasan penyimpanan sementara, 3. Bandingkan kawasan penyimpanan sementara dan komit yang terakhir, 4. Periksa fail yang tidak diucapkan untuk membantu pemaju memahami keadaan gudang dan pastikan tidak ada ketinggalan sebelum melakukan.

Langkah -langkah untuk menggunakan laman web Joomla di PHPStudy termasuk: 1) Konfigurasi PHPStudy, pastikan perkhidmatan Apache dan MySQL dijalankan dan periksa keserasian versi PHP; 2) Muat turun dan Decompress Laman Web PHPStudy dari laman web rasmi Joomla ke direktori root phpstudy, dan kemudian lengkapkan pemasangan melalui penyemak imbas mengikut wizard pemasangan; 3) Buat konfigurasi asas, seperti menetapkan nama laman web dan menambah kandungan.

Dalam Intellij ...

Langkah -langkah untuk memulakan pemulihan sistem di Windows 8 adalah: 1. Tekan kekunci Windows X untuk membuka menu pintasan; 2. Pilih "Panel Kawalan", masukkan "Sistem dan Keselamatan", dan klik "Sistem"; 3. Pilih "Perlindungan Sistem", dan klik "Restore System"; 4. Masukkan kata laluan pentadbir dan pilih titik pemulihan. Apabila memilih titik pemulihan yang sesuai, adalah disyorkan untuk memilih titik pemulihan sebelum masalah berlaku, atau ingat tarikh tertentu apabila sistem berjalan dengan baik. Semasa proses pemulihan sistem, jika anda menghadapi "pemulihan sistem tidak dapat diselesaikan", anda boleh mencuba titik pemulihan yang lain atau menggunakan arahan "SFC/Scannow" untuk membaiki fail sistem. Selepas memulihkan, anda perlu menyemak status operasi sistem, memasang semula atau mengkonfigurasi perisian, dan memasang semula data, dan membuat titik pemulihan baru secara teratur.

Mengunjungi alamat terkini ke laman web rasmi Binance boleh didapati melalui pertanyaan enjin carian dan ikuti media sosial rasmi. 1) Gunakan enjin carian untuk memasukkan "Laman Web Rasmi Binance" atau "Binance" dan pilih pautan dengan logo rasmi; 2) Ikuti Twitter rasmi Binance, Telegram dan akaun lain untuk melihat jawatan terkini untuk mendapatkan alamat terkini.
