[英]Break DO While Loop 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;
}
}
==
vs .equals()
更多信息,請參閱等於和==之間的差異 比較字符串時需要使用String.equals()
方法。 您的value == "-1"
代碼正在檢查引用相等,而不是值相等
你可以使用break
:
while (true) {
...
if ("-1".equals(value)) {
break;
}
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.