我正在做某事,撞到了砖墙。我的程序应该绕圈逃避光标。我已经快完成了,但是我只需要底部的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的评论并分解您的条件)进行工作。
首先,您要检查
getx
和gety
是否在一定范围内。例如,您可以编写:boolean getxInBounds = getx > x && getx < (x+80);
并在if语句中使用该变量。
关于java - java对象逃避游标,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17933757/