Ralat Pengimbas dengan nextInt()
Kelas Pengimbas ialah alat yang mudah untuk membaca input daripada konsol, tetapi ia boleh membuang ralat seperti NoSuchElementException jika anda cuba membaca jenis yang tidak wujud dalam aliran input.
Dalam kod yang disediakan:
Scanner s = new Scanner(System.in); int choice = s.nextInt();
Kaedah nextInt() cuba membaca integer daripada aliran input standard, tetapi jika tiada integer tersedia, ia membuang NoSuchElementException. Untuk mengelakkan ralat ini, sentiasa semak sama ada terdapat integer untuk dibaca menggunakan kaedah hasNextInt():
Scanner s = new Scanner(System.in); while(s.hasNextInt()) { int choice = s.nextInt(); // Process the input } s.close();
Kod ini akan gelung sehingga tiada lagi integer untuk dibaca, menghapuskan risiko NoSuchElementException. Selain itu, gunakan kaedah hasNextInt() untuk mengelakkan daripada memasuki gelung tak terhingga jika tiada integer untuk dibaca.
Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan NoSuchElementException Apabila Menggunakan Scanner.nextInt()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!