do-while循环不会结束并崩溃程序

时间:2014-02-01 01:32:02

标签: java while-loop do-while

我有一个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);    

2 个答案:

答案 0 :(得分:2)

更改

if (stopLoop = false)

if (stopLoop == false)

请注意,=用于分配,==用于比较。

或者更好(并且推荐):

if (!stop)

修改

另外,compare Strings, use equals() method

if (remove1.equals(""))
...

答案 1 :(得分:0)

首先,你的最后一个if是一个赋值,而不是一个相等的测试,即stopLoop = false应该是== false

第二,如果你已经表现出来,改变就没有办法做错。