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

Apa yang Menyebabkan InputMismatchException di Java dan Bagaimana untuk Membetulkannya?

Susan Sarandon
Susan Sarandonasal
2024-11-07 21:29:02916semak imbas

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;
}

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++;
    }
}

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!

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