我有一个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);
答案 0 :(得分:2)
更改
if (stopLoop = false)
到
if (stopLoop == false)
请注意,=
用于分配,==
用于比较。
或者更好(并且推荐):
if (!stop)
修改强>
另外,compare String
s, use equals()
method:
if (remove1.equals(""))
...
答案 1 :(得分:0)
首先,你的最后一个if是一个赋值,而不是一个相等的测试,即stopLoop = false应该是== false
第二,如果你已经表现出来,改变就没有办法做错。