Redémarrez itération courante dans les "pour" boucle java
J'ai une boucle qui demande à l'utilisateur de saisir un nombre et puis quelque chose avec elle 10 fois
Je veux une case construite en qui, si l'utilisateur entre un non accepté d'entrée, la boucle doit redémarrer son itération courante
Par exemple, si l'utilisateur entre quelque chose de mal dans la série 3, série 3 doit être redémarré.
Comment dois-je faire? est là quelque chose comme un REDO déclaration en java?
Ok, ce que vous avez essayé?
Avez-vous aller à la même école que ce mec?
Utiliser un
Avez-vous aller à la même école que ce mec?
Utiliser un
do-while
boucle, pas un for
boucle.OriginalL'auteur Killerpixler | 2012-10-26
Vous devez vous connecter pour publier un commentaire.
quelque chose comme cela ?
oui, utiliser un
do-while
boucle au lieu de diminuer lei
valeur.Je pense que le fait de changer la valeur d'une variable de contrôle de boucle à l'intérieur de la boucle tend à être source de confusion. Assez Simple dans ce cas, mais dans une large boucle, il pourrait être non évidente de ce qui se passe. Je préfère la réponse posté par @Mik378: utiliser une boucle interne de re-invite pour l'entrée jusqu'à l'entrée valide est reçu.
c'est absolument vrai pour les grandes boucles. mais vous ne pensez pas sa un peu cher pour avoir une boucle imbriquée ??
Qui n'a pas de diminution de la performance à tout pour avoir ce genre de boucle interne.
OriginalL'auteur PermGenError
Vous avez un couple de choix ici.
Continuer
Le continuer déclaration en Java raconte une boucle pour revenir à son point de départ. Si vous êtes à l'aide d'une boucle for, cependant, cela va continuer jusqu'à la prochaine itération qui n'est probablement pas ce que vous voulez, de sorte que cela fonctionne mieux avec une boucle while mise en œuvre:
Décrémenter
Cette approche semble laid pour moi, mais si vous voulez accomplir votre tâche à l'aide d'une boucle for, vous pouvez au lieu de juste décrémenter le compteur dans votre boucle for (essentiellement 'refaire') lorsque vous y déceler une mauvaise entrée.
Je vous recommande d'utiliser une boucle while.
OriginalL'auteur Ina
Préfèrent éviter de réaffecter les
i
variable, cela peut conduire à la confusion.OriginalL'auteur Mik378