essayez/catch avec un problème de boucle InputMismatchException
Lorsque vous essayez de gérer les entrées utilisateur avec un bloc try/catch et une exception InputMismatchException, vous pouvez rencontrer une boucle infinie si l'entrée n'est pas un entier. Pour résoudre ce problème, assurez-vous d'appeler next() pour faire avancer le scanner au-delà de l'entrée non valide.
catch (Exception e) { System.out.println("Error!"); input.next(); // Advance past invalid input }
De plus, il est conseillé d'utiliser hasNextInt() pour vérifier une entrée entière valide avant de la lire.
while (bError) { if (scanner.hasNextInt()) n1 = scanner.nextInt(); else { scanner.next(); // Advance past invalid input continue; } // Repeat for n2 }
Cette approche garantit que le scanner ignore les entrées non entières et ne traite que les valeurs valides, éliminant ainsi le besoin de gestion des exceptions.
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!