[英]do-while loop wont end and crashes program
我有一個while循環,只要一個if每個循環至少一次為止就會繼續運行,但是我找不到循環不會停止的原因。 (還有幾個ifs,但我刪除它們因為它們完全相同)
boolean changed = true;
do{
boolean stopLoop = false;
if(remove1=="")
{
EquipmentSlot1.setText(EquipmentSlot2.getText());
EquipmentSlot2.setText("");
stopLoop = true;
}
if(remove2=="")
{
EquipmentSlot2.setText(EquipmentSlot3.getText());
EquipmentSlot3.setText("");
stopLoop = true;
}
if(remove3=="")
{
EquipmentSlot3.setText(EquipmentSlot4.getText());
EquipmentSlot4.setText("");
stopLoop = true;
}
if(stopLoop = false)
{
changed = false;
}
}while(changed);
更改
if (stopLoop = false)
至
if (stopLoop == false)
注意=
是用於賦值, ==
用於比較。
或者更好(並且推薦):
if (!stop)
編輯:
另外,要比較String
,請使用equals()
方法 :
if (remove1.equals(""))
...
首先,你的最后一個if是一個賦值,而不是一個相等的測試,即stopLoop = false應該是== false
其次,如果你表現出來,改變就沒有辦法做錯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.