中断DO While循环Java



我是新的JAVA,我不知道如何打破一个DO WHILE循环,我在下面的代码中使用?我想我可以输入-1来中断或输入所有其他数字来继续循环。

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);
}
}

}

您需要使用.equals()而不是==,如下所示:

if (value.equals("-1")){
    control = 0;
}

当你使用==你检查引用相等(即这是相同的指针),但当你使用.equals()你检查值相等(即他们指向相同的东西)。通常.equals()是正确的选择。

还可以使用break退出循环,如下所示:

while( true ) {
    String value = JOptionPane.showInputDialog( "Enter a number or -1 to stop" );
    System.out.println( value );
    if ( "-1".equals(value) ) {
        break;
    }
}
  • 有关==.equals()的更多信息,请参阅Equals和==之间的差异

在比较字符串时需要使用String.equals()方法。您的value == "-1"代码正在检查引用相等,而不是值相等

您可以使用break:

while (true) {
    ...
    if ("-1".equals(value)) {
        break;
    }
    ...
}

最新更新