Je ne peux pas comprendre où dois-je mettre l'étiquette 'One' dans le code (j'ai besoin de sauter la boucle tandis infinie) peut-on m'expliquer où devrais-je mettre l'étiquette? p> p>
3 Réponses :
Vous pouvez utiliser une boucle.
do{ x =JOptionPane.showInputDialog(null, "Insert a data"); y = y + Integer.parseInt(x); }while(!(x.equals("ok"))); //here is where i need to get using the label System.out.println("I did break");
Oui, tu as raison mais je voulais comprendre comment utiliser des étiquettes. Merci quand même :)
Je pense que l'étiquette est déjà au bon endroit. P>
Selon le Tutoriel Oracle Java : p>
La déclaration de pause termine la déclaration marquée; ce ne est pas Transférer le flux de contrôle sur l'étiquette. Le flux de contrôle est transféré à la déclaration immédiatement après l'étiquette (résiliée) déclaration. p> blockQuote>
Dans votre exemple, vous n'avez même pas besoin de l'étiquette, car votre relevé de pause quitte la
tandis que (vrai) code> boucle de toute façon. Normalement, vous utilisez des étiquettes lorsque vous avez des boucles imbriquées. P>
Je pensais la même chose, mais pourquoi ça ne marche pas alors? Le programme se termine réellement quand il arrive à la pause
OK, j'ai trouvé la réponse moi-même: L'erreur est que lorsque vous essayez d'attribuer à Y la valeur d'un int, si elle obtient une chaîne («OK»), elle se termine par une erreur. Donc, j'avais juste besoin de déplacer cette ligne après la séquence de si (et utilisez la méthode des égaux) et cela fonctionne maintenant.
one: while (true) { x = JOptionPane.showInputDialog(null, "Insert a data"); if (x.equals("ok")) { break one; } y = y + Integer.parseInt(x); } //here is where i need to get using the label System.out.println("I did break");
Problème non apparenté: Ne comparez pas les chaînes à l'aide de
== code> ou
! = Code>. Utilisez le
Equals (...) code> ou le
EqualSignorecase (...) code> méthode à la place. Comprendre que
== code> vérifie si les deux Les références d'objet i> sont les mêmes qui ne sont pas ce qui vous intéresse. Les méthodes d'autre part Vérifiez si les deux chaînes ont le mêmes personnages dans le même ordre, et c'est ce qui compte ici.