簡體   English   中英

do-while循環不會結束並崩潰程序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM