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)
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();
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!