Maison >Java >javaDidacticiel >Comment éviter NoSuchElementException lors de l'utilisation de 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!