Menyelesaikan masalah "NoSuchElementException" dalam Java.Util.Scanner
Ralat "NoSuchElementException" dalam Java biasanya disebabkan oleh percubaan untuk membaca daripada sumber input tertutup atau kosong menggunakan kelas Pengimbas. Dalam kes anda, pengecualian ini berlaku apabila anda cuba membaca integer kedua daripada pengguna (baris 17 dalam kod anda).
Untuk nyahpepijat isu ini, mari kita periksa kelas Pengimbas secara terperinci:
Kelas Pengimbas
Kelas Pengimbas membenarkan anda membaca data teks daripada sumber, seperti System.in (konsol). Kaedahnya membolehkan anda mengekstrak pelbagai jenis data, termasuk integer (nextInt()), daripada sumber.
Dalam kod anda, anda mencipta objek Pengimbas yang dipanggil "input" untuk membaca input daripada konsol. Anda kemudian cuba membaca dua nilai integer ke dalam pembolehubah nombor1 dan nombor2.
Analisis Ralat
Ralat "NoSuchElementException" menunjukkan bahawa objek Pengimbas menjangkakan untuk mencari integer pada baris input seterusnya tetapi tidak dapat mencari satu. Ini boleh berlaku atas beberapa sebab:
Cadangan Penyelesaian
Untuk menyelesaikan isu ini, pertimbangkan untuk menambah semakan untuk mengesahkan bahawa Pengimbas mempunyai integer lain untuk dibaca sebelum cuba mengekstrak ia:
if (input.hasNextInt()) { number2 = input.nextInt(); } else { // Handle the case where no integer is found // (e.g., display an error message or set number2 to a default value) }
Dengan memasukkan cek ini, anda boleh menentukan sama ada terdapat integer lain yang tersedia sebelum cuba membacanya. Jika tiada, anda boleh mengambil tindakan yang sewajarnya, seperti memaparkan mesej ralat atau menetapkan nombor2 kepada nilai lalai.
Atas ialah kandungan terperinci Mengapa Saya Mendapat 'NoSuchElementException' Apabila Menggunakan Kelas Pengimbas Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!