为什么这不是真的?

时间:2012-10-13 23:38:55

标签: java methods slick2d

public void check() {
    if (particle < 0) {
        if (point[3].equals(point[3]) == true) {
            check = true;
        }
        check = false;
    }
}

point[3]不应该等于自己吗?这是真的吗?

4 个答案:

答案 0 :(得分:2)

您必须在check = true;之后从函数返回,或使用else。否则它将从if和return false始终

落下
if (...) {
  check = true;
}
else {
  check = false;
}

public void check(){
    if(particle < 0){
        if(point[3].equals(point[3]) == true){
            check = true;
        }else{
          check = false;
        }
    }

}

答案 1 :(得分:2)

也许你的意思是说else check = false?

   public void check(){
     if(particle < 0){
        if(point[3].equals(point[3]) == true){
         check = true;
        }else{
          check = false;
        }
     }
  //here it is true
  }

或简单地说:

  public void check(){
     if(particle < 0){
        check = point[3].equals(point[3]);
     }
     //here it is true
 }

答案 2 :(得分:1)

试试这个:

public boolean check() {
    if (particle < 0) {
        return point[3].equals(point[3]);
    } else {
        return false;
    }
}

答案 3 :(得分:0)

粒子怎么样?

按惯例,点应该等于它自己,但你总是可以实现它。

但当然,其他回复是正确的,此函数将始终以check = false

结束