我想重复执行for语句,直到给定的int达到某个值。

例如...

for (int variable = 0; variable < other_variable; variable++) {


问题在于for语句永远不会结束。它会不断重复不断。我做错了什么?

这是我的代码...

boolean itemexist_check = false;
do {
    int i2 = m_area.m_items.size();

    for (int i = 0; i < i2; i++) {
        String s2 = m_area.m_items.get(i).returnName();
        System.out.println("Checking...");

        if (s2.contains(s)) {
            System.out.println("You take the " + s2 + ".");
            itemexist_check = true;
            player.addItem(m_area.m_items.get(i));
            m_area.m_items.remove(i);
        }
        else {
            //do nothing, repeat loop
        }
    }
}
while (itemexist_check == false);


在此代码中,m_area.m_items.size()将返回1,因此i2将为1

最佳答案

有几种可能性:


您在循环体内更改variable
您在循环体内更改other_variable
other_variable设置为较大的值,在这种情况下,循环可能需要很长时间才能终止;
您的代码永远不会完成循环的特定迭代,例如:

它被卡在@ Eng.Fouad在注释中建议的嵌套循环中,或者
它正在等待锁,或者
它阻塞了一个永远不会完成(或需要很长时间才能完成)的I / O调用。



没有人知道other_variable的典型值并看到循环的主体,这是任何人的猜测。

关于java - Java:执行for语句,直到给定变量达到某个值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7882201/

10-11 01:28