Rumah > Java > javaTutorial > Nilai Berganda Pengimbas: InputMismatchException - Mengapa Ia Berlaku dan Bagaimana Ia Boleh Dielakkan?

Nilai Berganda Pengimbas: InputMismatchException - Mengapa Ia Berlaku dan Bagaimana Ia Boleh Dielakkan?

Barbara Streisand
Lepaskan: 2024-12-22 20:56:11
asal
505 orang telah melayarinya

Scanner Double Value: InputMismatchException - Why Does It Occur and How Can It Be Avoided?

Pengecualian Nilai Berganda Pengimbas: InputMismatchException

Pengenalan Masalah:

Apabila menggunakan kelas Pengimbas untuk membaca nilai berganda daripada konsol, pengguna mungkin menghadapi InputMismatchException. Ralat ini berlaku apabila input tidak sepadan dengan jenis data yang dijangkakan, dalam kes ini, dua kali ganda.

Soalan:

  • Mengapa pengecualian ini berlaku apabila membaca nilai berganda menggunakan Pengimbas?
  • Bagaimanakah pengecualian ini boleh berlaku dielakkan?

Jawapan:

1. Mengapakah pengecualian berlaku?

InputMismatchException dilemparkan kerana tempat lalai Pengimbas tidak dikonfigurasikan untuk menggunakan noktah (.) sebagai pemisah perpuluhan. Secara lalai, banyak tempat menggunakan koma (,) sebagai pemisah perpuluhan. Walau bagaimanapun, nombor titik terapung di Java dijangka menggunakan noktah sebagai pemisah perpuluhan. Apabila Pengimbas cuba membaca nilai berganda daripada input yang menggunakan koma sebagai pemisah perpuluhan, ia mentafsirkannya sebagai integer, yang membawa kepada InputMismatchException.

2. Bagaimana untuk memintas pengecualian:

Untuk mengelakkan InputMismatchException, langkah berikut boleh diambil:

  • Tentukan Tempatan: Tetapkan Pengimbas secara eksplisit tempatkan kepada satu yang menggunakan noktah sebagai pemisah perpuluhan. Ini boleh dilakukan menggunakan kaedah useLocale:
  • Gunakan Ungkapan Biasa: Daripada menggunakan kaedah nextDouble, gunakan ungkapan biasa untuk mengesahkan dan mengekstrak nilai berganda daripada input pengguna. Pendekatan ini membolehkan kawalan yang lebih besar ke atas format input.

Atas ialah kandungan terperinci Nilai Berganda Pengimbas: InputMismatchException - Mengapa Ia Berlaku dan Bagaimana Ia Boleh Dielakkan?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan