Java while循环条件被其他对象更改

时间:2018-10-23 09:36:35

标签: java

我的Java代码无法正常工作:问题是while循环,即使应该循环也永远不会结束。 在课程Engine中,我有以下代码:

public class Engine {
    private boolean termine = false;

    // Code

    public boolean tour(int joueur) {
        stade = 1;
        while(!termine);
        termine = false;
        stade = 0;
    }

    // Code

    public void setTermine(boolean t) {
        termine = t;
    }
}

变量termine由方法setTermine修改,并由另一个类GestionClavier调用:

import java.awt.event.KeyEvent;
public class GestionClavier implements KeyListener {
    Engine engine;

    GestionClavier(Engine engine) {
        this.engine = engine;
    }

    public void keyReleased(KeyEvent e) {
        // Code
        if (e.getKeyCode() == KeyEvent.VK_T) {
            engine.setTermine(true);
        }
    }
}

我知道变量termineGestionClavier修改了,但是以某种方式Engine仍然没有退出while(!termine)循环。你知道我该怎么解决吗?

1 个答案:

答案 0 :(得分:-1)

问题出在';'

 public boolean tour(int joueur) {
        stade = 1;
        while(!termine)  // Remove semicolon   while(!termine); 
        termine = false;  
        stade = 0;
    }