Rumah > Java > javaTutorial > Apa yang Menyebabkan InputMismatchException di Java dan Bagaimana untuk Membetulkannya?

Apa yang Menyebabkan InputMismatchException di Java dan Bagaimana untuk Membetulkannya?

Susan Sarandon
Lepaskan: 2024-11-07 21:29:02
asal
1085 orang telah melayarinya

What Causes an InputMismatchException in Java and How to Fix It?

InputMismatchException dalam Kod Java: Input Penyelesaian Masalah

Apabila menggunakan kelas Pengimbas dalam Java, pengecualian yang tidak dijangka boleh timbul semasa pemprosesan input. Satu ralat biasa ialah InputMismatchException, yang berlaku apabila input yang dimasukkan tidak sepadan dengan jenis data yang dijangkakan.

Pertimbangkan coretan kod ini:

public double checkValueWithin(int min, int max) {
    double num;
    Scanner reader = new Scanner(System.in);
    num = reader.nextDouble();                         
    while (num < min || num > max) {                 
        System.out.print("Invalid. Re-enter number: "); 
        num = reader.nextDouble();                         
    }
    return num;
}
Salin selepas log masuk

dan

public void askForMarks() {
    double marks[] = new double[student];
    int index = 0;
    Scanner reader = new Scanner(System.in);
    while (index < student) {
        System.out.print("Please enter a mark (0..30): ");
        marks[index] = (double) checkValueWithin(0, 30); 
        index++;
    }
}
Salin selepas log masuk

Apabila menguji kod ini, anda menghadapi InputMismatchException disebabkan oleh jenis data yang tidak betul dimasukkan. Isu timbul apabila cuba memasukkan nilai berganda menggunakan titik (.) sebagai pemisah perpuluhan.

Penyelesaian:

Untuk menyelesaikan masalah ini, gunakan koma ( ,), bukan titik, untuk memisahkan bahagian pecahan nombor. Sebagai contoh, daripada memasukkan 1.2, masukkan 1,2. Koma ialah pemisah perpuluhan lalai untuk jenis data berganda dalam Java.

Dengan membuat pengubahsuaian mudah ini, anda boleh memastikan bahawa kod menerima nilai berganda dengan betul dan mengelakkan InputMismatchException.

Atas ialah kandungan terperinci Apa yang Menyebabkan InputMismatchException di Java dan Bagaimana untuk Membetulkannya?. 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