Je suis nouveau dans Java et je ne sais pas comment briser une boucle que j'utilise dans mon code ci-dessous? Je pensais pouvoir entrer -1 pour briser ou tous les autres chiffres pour continuer la boucle.
import javax.swing.*;
public class Triangel {
public static void main(String[] args) {
int control = 1;
while (control == 1){
String value = JOptionPane.showInputDialog("Enter a number or -1 to stop");
if(value == "-1"){
control = 0;
}
System.out.println(value);
}
}
3 Réponses :
Vous pouvez utiliser break code>:
Ne comparez pas les chaînes à l'aide de == code> mais .equals code> à la place.
oh désolé - je n'ai pas remarqué que c'était Java, pensa c #
Vous devez utiliser la méthode string.equals () Code> lors de la comparaison des chaînes. Votre code valeur == "-1" code> vérifie l'égalité de référence, pas la valeur égalité p>
Vous devez utiliser lorsque vous utilisez Vous pouvez également utiliser .fequals () code> au lieu de == code>, comme: == code> Vous vérifiez l'égalité de référence (c'est-à-dire que le même pointeur), mais lorsque vous utilisez .equals () code> vous vérifiez l'égalité de valeur (c'est-à-dire qu'ils pointent-ils la même chose). Typiquement .equals () code> est le bon choix. P> break code> pour quitter une boucle, comme: P> while( true ) {
String value = JOptionPane.showInputDialog( "Enter a number or -1 to stop" );
System.out.println( value );
if ( "-1".equals(value) ) {
break;
}
}
== code> vs .Qquals () code> Voir différence entre égaux et == li>
ul> p>
== compare un objet pour l'égalité de référence, c'est-à-dire que se réfèrent-ils au même objet exactement i> même? Si j'ai une structure qui détient un entier, et je dis une nouvelle structure (4) == nouvelle structure (4), cela sera faux car, même si j'ai initialisé l'entier de la structure à 4 dans les deux objets, ce sont des objets différents. Cependant, si je surchargez des égaux (et de hashcode, voir les javadocs) correctement, la nouvelle structure (4) .equenilles (nouvelle structure (4)) imprimera true - même s'ils sont des objets différents, ils sont la même chose que pour leur égale contrat.
Ce n'est pas un
do ... tandis que code> boucle, il s'agit d'unpendant code> boucle. Vous le cassez en émettantpause; code> n'importe où à l'intérieur de la boucle.Triangle: Beedictionary.com/common-errors/angel_vs_angle