essayez de l'attraper avec Scanner
je suis entrain de créer un petit algorithme et c'est une partie de lui.ce que je veux, je veux que si l'utilisateur entre certains non entière de la valeur que je veux donner à un utilisateur un message et permettre à l'utilisateur d'entrer un nombre de nouveau
boolean wenttocatch;
do{
try {
wenttocatch=false;
number_of_rigons=sc.nextInt(); //sc is an object of scanner class
} catch (Exception e) {
wenttocatch=true;
System.out.println("xx");
}
}while(wenttocatch==true);
et j'en suis sans fin de la boucle, je ne peux pas comprendre pourquoi et comment puis-je déterminer si l'utilisateur entre certains non nombre entier et si l'utilisateur est l'entrée et non nombre entier comment faire pour demander à l'utilisateur d'entrer de nouveau
Mise à jour
quand je suis à l'impression de l'exception, je suis l'exception, comme InputMismatchException que dois-je faire
OriginalL'auteur pavithra | 2015-09-15
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas à faire un try catch. Ce code va faire l'affaire pour vous :
OriginalL'auteur Yassine.b
La
Scanner
ne s'avance pas jusqu'à ce que l'élément est en cours de lecture. Ceci est mentionné dans Scanner JavaDoc. Par conséquent, vous pouvez lire la valeur hors tension à l'aide.next()
méthode ou vérifier sihasInt()
avant de lireint
valeur.OriginalL'auteur James Jithin
À tout moment vous obtenez une exception,
wenttocatch
est fixé àtrue
et le programme va être bloqué dans une boucle infinie. Tant que vous n'obtenez pas l'exception que vous ne serez pas obtenir une boucle infinie.OriginalL'auteur Django
La logique si sc.nextInt() l'origine de l'erreur est ce
1) wenttocatch est définie sur false
2) sc.nextInt() déclenche une erreur
3) wenttocatch est définie sur true
4) répétez l'[parce que wenttocatch est vrai]
Pour résoudre cet ensemble wentocatch=false dans l'instruction catch
si vous faites plus de vous montrer ici, utiliser un compteur[si votre comptage ou un booléen si vous n'êtes pas], mais sauf si vous faites de plus, la première chose que ci-dessus
Réponse Commentaire:
Je pense que vous voulez obtenir de l'ints jusqu'à ce qu'un utilisateur de ne pas entrer plus. En fonction de votre entrée une façon de le faire est ce
Pas tout à fait sûr de ce que tu veux dire. Vous souhaitez obtenir tous les nombres entiers a les entrées de l'utilisateur jusqu'à ce qu'ils n'ont pas d'entrée plus entiers?
OriginalL'auteur applecrusher
Désolé, jeta un coup d'oeil à ce à de nouveaux postes d'examen et à tort, "bien wenttocatch est encore vrai si elle est toujours d'aller en boucle". Toutefois, cela est identique à James Jithin de réponse.
OriginalL'auteur Dimang Chou