J'ai un problème en essayant d'exécuter l'instruction try-catch à l'intérieur de do while loop.I demande à l'utilisateur d'entrer d'abord la lettre et ensuite un nombre et s'il saisit correctement le numéro du programme. Entrez une lettre au lieu du nombre que le programme devrait dire "Une erreur est survenue s'il vous plaît entrez le numéro" et demandez à l'utilisateur d'entrer à nouveau le numéro, mais chaque fois que je tape une lettre, le programme entre dans une boucle infinie. . Et juste va "Une erreur s'est produite, vous devez entrer le numéro" "S'il vous plaît entrer le numéro".Faire tout devient infini avec essayer attraper
public class OmaBrisem {
public static void main(String[] args) {
Scanner tastatura = new Scanner(System.in);
boolean b = true;
int a = 0;
String r = "";
System.out.println("Please enter a letter");
r = tastatura.next();
do {
try {
System.out.println("Please enter numerical value");
a = tastatura.nextInt();
b = true;
} catch (Exception e) {
System.out.println("An error occured you must enter number");
b = false;
}
} while (!b);
}
}
Je aime le * jusqu'à la mort thermique de l'univers, ou la machine tombe finalement vers le bas, selon la première éventualité * –
Lorsque vous entrez dans deux lettres en même temps que votre code fonctionne aussi dans un infini en boucle – HasS
@HasS, oui, quand il y a un retour à la ligne qui fait échouer 'findInLine'. - Je n'ai testé qu'avec une seule ligne. Bien que le code ait été conçu uniquement comme un exemple pour illustrer le concept, j'ai corrigé avec une mise à jour. Si le problème persiste, veuillez me communiquer les données de test exactes que vous utilisez. – paxdiablo