Maison > Java > javaDidacticiel > le corps du texte

Comment empêcher « java.util.NoSuchElementException » lors de l'utilisation de Scanner.nextInt() ?

DDD
Libérer: 2024-11-10 22:12:02
original
190 Les gens l'ont consulté

How to Prevent

Gestion des erreurs pour nextInt() dans Scanner

Lors de la tentative de récupération d'un entier à l'aide de Scanner.nextInt(), les utilisateurs rencontrent parfois l'erreur :

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)
Copier après la connexion

Cette erreur se produit lorsque le flux d'entrée ne contient aucun entier à lire par nextInt(). Une méthode pour résoudre ce problème consiste à utiliser hasNexInt(). Cette fonction vérifie la présence d'un entier avant de tenter de le lire.

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

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

s.close();
Copier après la connexion

Cette modification garantit que nextInt() n'est appelé que lorsqu'un entier est disponible en lecture, évitant ainsi l'erreur. De plus, il est recommandé de fermer le scanner une fois terminé pour libérer les ressources système.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal