Maison >Java >javaDidacticiel >Comment éviter NoSuchElementException lors de l'utilisation de Scanner.nextInt() ?

Comment éviter NoSuchElementException lors de l'utilisation de Scanner.nextInt() ?

DDD
DDDoriginal
2024-11-15 15:07:02411parcourir

How to Avoid NoSuchElementException When Using Scanner.nextInt()?

Erreur du scanner avec nextInt()

La classe Scanner est un outil pratique pour lire les entrées d'une console, mais elle peut générer des erreurs comme NoSuchElementException si vous essayez de lire un type qui n'existe pas dans le flux d'entrée.

Dans le fichier fourni code:

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

La méthode nextInt() tente de lire un entier à partir du flux d'entrée standard, mais si aucun entier n'est disponible, elle renvoie l'exception NoSuchElementException. Pour éviter cette erreur, vérifiez toujours s'il y a un entier à lire en utilisant la méthode hasNextInt() :

Scanner s = new Scanner(System.in);
while(s.hasNextInt()) {
    int choice = s.nextInt();
    // Process the input
}
s.close();

Ce code bouclera jusqu'à ce qu'il n'y ait plus d'entiers à lire, éliminant ainsi le risque de NoSuchElementException. De plus, utilisez la méthode hasNextInt() pour éviter d'entrer dans une boucle infinie s'il n'y a pas d'entiers à lire.

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!

Déclaration:
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