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

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

DDD
Lepaskan: 2024-11-10 22:12:02
asal
223 orang telah melayarinya

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)
Salin selepas log masuk

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();
Salin selepas log masuk

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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan