我正在做某事,撞到了砖墙。我的程序应该绕圈逃避光标。我已经快完成了,但是我只需要底部的if语句提供帮助。我应该如何正确格式化它,以免出现错误?

private void setCircle(MouseEvent s) {

    int getx = s.getX();int gety = s.getY();

    Random random = new Random();

    randomX = random.nextInt(700 - 51) + 51;
    randomY = random.nextInt(700 - 51) + 51;


    setX(randomX); setY(randomY);


    if((getx)>x)&&(getx)<(x+80))||((getx)>x)&&(getx)>(x-80))&&((y<gety)&&(gety<(y+80))||((gety)>y)&&(gety)>(y-80)){

        repaint();
    }
}

最佳答案

错误在这里:

if((getx)>x)&&...
  ^        ^


到编译器解析第二个末尾的时间时,它认为标记的括号将整个if语句括起来。要解决此问题,请重新组织括号(我将按照kiheru的评论并分解您的条件)进行工作。

首先,您要检查getxgety是否在一定范围内。例如,您可以编写:

boolean getxInBounds = getx > x && getx < (x+80);


并在if语句中使用该变量。

关于java - java对象逃避游标,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17933757/

10-10 03:17