Rumah >Java >javaTutorial >Bagaimana untuk Mencegah 'java.util.NoSuchElementException' Apabila Menggunakan Scanner.nextInt()?

Bagaimana untuk Mencegah 'java.util.NoSuchElementException' Apabila Menggunakan Scanner.nextInt()?

DDD
DDDasal
2024-11-10 22:12:02245semak imbas

How to Prevent

Pengendalian Ralat untuk nextInt() dalam Pengimbas

Apabila cuba mendapatkan integer menggunakan Scanner.nextInt(), pengguna kadangkala menghadapi ralat :

java.util.NoSuchElementException
    at java.util.Scanner.throwFor(Scanner.java:907)
    at java.util.Scanner.next(Scanner.java:1530)
    at java.util.Scanner.nextInt(Scanner.java:2160)
    at java.util.Scanner.nextInt(Scanner.java:2119)

Ralat ini timbul apabila aliran input tidak mengandungi integer untuk nextInt() untuk dibaca. Satu kaedah untuk menyelesaikannya ialah menggunakan hasNexInt(). Fungsi ini mengesahkan kehadiran integer sebelum cuba membacanya.

Scanner s = new Scanner(System.in);
int choice = 0;

if(s.hasNextInt()) 
{
   choice = s.nextInt();
}

s.close();

Pengubahsuaian ini memastikan nextInt() hanya dipanggil apabila terdapat integer tersedia untuk dibaca, menghalang ralat. Selain itu, adalah amalan yang baik untuk menutup pengimbas apabila selesai untuk mengeluarkan sumber sistem.

Atas ialah kandungan terperinci Bagaimana untuk Mencegah 'java.util.NoSuchElementException' Apabila Menggunakan Scanner.nextInt()?. 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