Java私有布尔函数在返回时请求返回
我的java代码中出现了一个奇怪的错误:Java私有布尔函数在返回时请求返回,java,boolean,Java,Boolean,我的java代码中出现了一个奇怪的错误: error: This method must return a result of type boolean 为什么这个公共布尔值在我添加return true和return false时给出这个错误 我的代码: public void render(float delta) { .................... .... Other code .... .................... if (h
error: This method must return a result of type boolean
为什么这个公共布尔值在我添加return true和return false时给出这个错误
我的代码:
public void render(float delta) {
....................
.... Other code ....
....................
if (hasBallCollision(player)){
ball.setZy(3 * screenheight);
difficulty += 0.1;
}
}
private boolean hasBallColission(Player player){
if(ball.getX()+8*screenwidth>player.getX()-40*screenwidth&&ball.getX()+8*screenwidth<player.getX()+40*screenwidth){
if(ball.getY()>player.getY()&&ball.getY()<player.getY()+16*screenheight){
return true;
}
}else{
return false;
}
}
public void渲染(浮动增量){
....................
……其他代码。。。。
....................
如果(球员){
球的高度(3*屏幕高度);
难度+=0.1;
}
}
私有布尔hasballcolion(玩家){
如果(ball.getX()+8*screenwidth>player.getX()-40*screenwidth&&ball.getX()+8*screenwidthplayer.getY()&&ball.getY()您在所有路径中都没有返回语句:
if (ball.getX()+8*screenwidth>player.getX()-40*screenwidth&&ball.getX()+8*screenwidth<player.getX()+40*screenwidth) {
if (ball.getY()>player.getY()&&ball.getY()<player.getY()+16*screenheight) {
return true;
}
// missing return statement here
} else {
return false;
}
if(ball.getX()+8*screenwidth>player.getX()-40*screenwidth&&ball.getX()+8*screenwidthplayer.getY()&&ball.getY()不是您的hasballcolision
中的所有路径都返回值(您可能是指“碰撞”)
在嵌套的if
语句中,没有else
语句。为了避免在所有路径中泄漏。始终首先定义“返回值”
private boolean hasballcolion(播放器){
布尔RTN值=假;
如果(ball.getX()+8*screenwidth>player.getX()-40*screenwidth&&ball.getX()+8*screenwidthplayer.getY()&&ball.getY(),因为如果第一个条件为true,第二个条件为false,则您的方法不会返回任何内容。谢谢!解决了我的问题:-)
private boolean hasBallColission(Player player){
boolean rtnValue = false;
if(ball.getX()+8*screenwidth>player.getX()-40*screenwidth&&ball.getX()+8*screenwidth<player.getX()+40*screenwidth){
if(ball.getY()>player.getY()&&ball.getY()<player.getY()+16*screenheight){
rtnValue = true;
}
}
return rtnValue;}