cari
RumahJavajavaTutorialKaedah untuk menyelesaikan rentetan Java kepada pengecualian nombor (NumberFormatException)

Kaedah untuk menyelesaikan rentetan Java kepada pengecualian nombor (NumberFormatException)

Aug 21, 2023 pm 01:40 PM
Penyelesaiannumberformatexceptionpengecualian penukaran rentetan java

Kaedah untuk menyelesaikan rentetan Java kepada pengecualian nombor (NumberFormatException)

Kaedah 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("转换后的数字为: " + number);
} catch (NumberFormatException e) {
    System.out.println("字符串无法转换为数字");
    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("转换后的数字为: " + number);
} else {
    System.out.println("字符串无法转换为数字");
}

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("转换后的数字为: " + number);
} else {
    System.out.println("字符串无法转换为数字");
}

// 或者使用NumberUtils工具类
if (NumberUtils.isParsable(strNumber)) {
    number = Integer.parseInt(strNumber);
    System.out.println("转换后的数字为: " + number);
} else {
    System.out.println("字符串无法转换为数字");
}

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!

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
Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?Mar 17, 2025 pm 05:46 PM

Artikel ini membincangkan menggunakan Maven dan Gradle untuk Pengurusan Projek Java, membina automasi, dan resolusi pergantungan, membandingkan pendekatan dan strategi pengoptimuman mereka.

Bagaimanakah saya membuat dan menggunakan perpustakaan Java Custom (fail JAR) dengan pengurusan versi dan pergantungan yang betul?Bagaimanakah saya membuat dan menggunakan perpustakaan Java Custom (fail JAR) dengan pengurusan versi dan pergantungan yang betul?Mar 17, 2025 pm 05:45 PM

Artikel ini membincangkan membuat dan menggunakan perpustakaan Java tersuai (fail balang) dengan pengurusan versi dan pergantungan yang betul, menggunakan alat seperti Maven dan Gradle.

Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?Mar 17, 2025 pm 05:44 PM

Artikel ini membincangkan pelaksanaan caching pelbagai peringkat di Java menggunakan kafein dan cache jambu untuk meningkatkan prestasi aplikasi. Ia meliputi persediaan, integrasi, dan faedah prestasi, bersama -sama dengan Pengurusan Dasar Konfigurasi dan Pengusiran PRA Terbaik

Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?Mar 17, 2025 pm 05:43 PM

Artikel ini membincangkan menggunakan JPA untuk pemetaan objek-relasi dengan ciri-ciri canggih seperti caching dan pemuatan malas. Ia meliputi persediaan, pemetaan entiti, dan amalan terbaik untuk mengoptimumkan prestasi sambil menonjolkan potensi perangkap. [159 aksara]

Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?Mar 17, 2025 pm 05:35 PM

Kelas kelas Java melibatkan pemuatan, menghubungkan, dan memulakan kelas menggunakan sistem hierarki dengan bootstrap, lanjutan, dan pemuat kelas aplikasi. Model delegasi induk memastikan kelas teras dimuatkan dahulu, yang mempengaruhi LOA kelas tersuai

See all articles

Alat AI Hot

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.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)