0

我在计时器中使用“if”语句时遇到了麻烦。我将计时器设置为每秒运行一次 if 循环,但是即使不满足“if”条件,if 语句中的操作也会执行。我在这里做错了什么,还是这是不可能的?

代码:

    //GLOBAL TIMERS
    //car edge detection
    int initialDelay = 0; // start after 0 seconds
    int period = 50;        // repeat every 5 seconds
    final Timer carAI = new Timer();
    TimerTask task = new TimerTask() {
      public void run() {
          if (redcar.getX() == -50); {
              redcar.setIcon(new ImageIcon(gui.class.getResource("/main/redcar.png")));
              redcar.setLocation(redcar.getX() + 5, redcar.getY());
          }

      }
    };
    carAI.scheduleAtFixedRate(task, initialDelay, period);
4

1 回答 1

4

如果@Oli 的提示还不够,让我在编译器看到您的代码时重写它。

if (redcar.getX() == -50)
{;}
 ^  // the great ;
{
     redcar.setIcon(new ImageIcon(gui.class.getResource("/main/redcar.png")));
     redcar.setLocation(redcar.getX() + 5, redcar.getY());
}

删除该分号以解决您的问题。

于 2013-01-09T02:26:22.793 回答