我是新的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;
}
...
}