Java 创建返回以对象为参数的布尔值的方法

Java 创建返回以对象为参数的布尔值的方法,java,Java,有人能帮我吗。我想用一种方法比较两辆车是否更快isFaster(carothercar)。有人能帮我理解如何将Car对象与otherCar对象进行比较,后者是isFaster方法的一个参数。如何创建方法的主体 public class Car { private String make =""; private int year = 0; private int maxSpeed = 0; public Car(String make,int year,int maxSpeed

有人能帮我吗。我想用一种方法比较两辆车是否更快
isFaster(carothercar)
。有人能帮我理解如何将
Car
对象与
otherCar
对象进行比较,后者是
isFaster
方法的一个参数。如何创建方法的主体

public class Car {
  private String make ="";
  private int year = 0;
  private int maxSpeed = 0;

  public Car(String make,int year,int maxSpeed){
    this.make = make;
    this.maxSpeed = maxSpeed;
    this.year = year;
  }

  public void setSpeed(int maxSpeed){
    this.maxSpeed = maxSpeed;
  }

  public void setMake(String make){
    this.make = make;
  }

  public void setYear(int year){
    this.year = year;
  }

  public int getMaxSpeed(){
    return maxSpeed;
  }

  public int getYear(){
    return year;
  }

  public String getMake(){
    return make;
  }

  public String toString(double param){
    String temp = String.valueOf(param);
    return temp;
  }

  public String toString(int param){
    String temp = String.valueOf(param);
    return temp;
  }

  public String toString(char param){
    String temp = String.valueOf(param);
    return temp;
  }
}

您必须基于速度重写.equals()方法,然后只有您才能有意义地比较对象。否则,默认情况下,.equals()使用=来比较对象。在这种情况下,只有当对象相同时,对象才能相等您必须基于速度覆盖.equals()方法,然后只有您才能有意义地比较对象。否则,默认情况下,.equals()使用=来比较对象。在这种情况下,只有当汽车对象中的对象相同时,对象才能相等,例如

class Car{

    int gear;
    double speed;
}
当需要比较时,需要决定要比较的决定性属性

如果它的速度那么

// isFaster will only return true if the calling car object is faster 
// than the otherCar

// for your class this should work

isFaster(Car otherCar){       
    return this.getMaxSpeed() - otherCar.getMaxSpeed()  ;
}

// If you use double for speed, and you need precision
// you can set some tolerance value for comparisons.

isFaster(Car otherCar){       
    return (this.getMaxSpeed() - otherCar.getMaxSpeed() ) < TOLERANCE ;
}
//如果调用的car对象更快,isFaster将仅返回true
//比另一辆车好
//对你们班来说,这应该有用
是否更快(车与其他车){
返回此.getMaxSpeed()-otherCar.getMaxSpeed();
}
//如果你使用双倍速度,你需要精确
//可以为比较设置一些公差值。
是否更快(车与其他车){
返回(this.getMaxSpeed()-otherCar.getMaxSpeed())

希望这有帮助。

在Car对象中,必须有一些属性,例如

class Car{

    int gear;
    double speed;
}
当需要比较时,需要决定要比较的决定性属性

如果它的速度那么

// isFaster will only return true if the calling car object is faster 
// than the otherCar

// for your class this should work

isFaster(Car otherCar){       
    return this.getMaxSpeed() - otherCar.getMaxSpeed()  ;
}

// If you use double for speed, and you need precision
// you can set some tolerance value for comparisons.

isFaster(Car otherCar){       
    return (this.getMaxSpeed() - otherCar.getMaxSpeed() ) < TOLERANCE ;
}
//如果调用的car对象更快,isFaster将仅返回true
//比另一辆车好
//对你们班来说,这应该有用
是否更快(车与其他车){
返回此.getMaxSpeed()-otherCar.getMaxSpeed();
}
//如果你使用双倍速度,你需要精确
//可以为比较设置一些公差值。
是否更快(车与其他车){
返回(this.getMaxSpeed()-otherCar.getMaxSpeed())

希望这能有所帮助。

假设
Car
类有一个方法,例如
double-getMaxSpeed()
,您可以实现
isFaster(Car-otherCar)
,如下所示:

boolean isFaster (Car otherCar) {
    return this.getMaxSpeed() > otherCar.getMaxSpeed ();
}

假设
Car
类有一个方法,例如
double-getMaxSpeed()
,您可以实现
isFaster(Car-otherCar)
,如下所示:

boolean isFaster (Car otherCar) {
    return this.getMaxSpeed() > otherCar.getMaxSpeed ();
}

创建这样一个方法

public boolean isFaster(Car anotherCar){
   return this.maxSpeed > anotherCar.maxSpeed;
}
在客户端代码示例中:

public static void main(String args []){
  Car car1 = new Car();
  car1.setSpeed(200);// should be setMaxSpeed();
  Car car2 = new Car();
  car2.setSpeed(250);

  System.out.println(car1.isFaster(car2));// prints false

}

创建这样一个方法

public boolean isFaster(Car anotherCar){
   return this.maxSpeed > anotherCar.maxSpeed;
}
在客户端代码示例中:

public static void main(String args []){
  Car car1 = new Car();
  car1.setSpeed(200);// should be setMaxSpeed();
  Car car2 = new Car();
  car2.setSpeed(250);

  System.out.println(car1.isFaster(car2));// prints false

}


向我们展示
汽车
类。而且。。。你自己试过什么吗?Show就是你试过的。你的问题大概不是写一个汽车比较程序,而是一些更基本的东西(比如调用一个对象的字段)。如果你询问基本问题,你会得到一个更有用的回答。得到的提示将确保下次告诉我们
汽车
课程。而且。。。你自己试过什么吗?Show就是你试过的。你的问题大概不是写一个汽车比较程序,而是一些更基本的东西(比如调用一个对象的字段)。如果你问到基本问题,你会得到更有用的回答。得到的提示将确保下次这样做。你是说两辆车以相同的速度行驶时是同一辆车吗?那么你是说两辆车以相同的速度行驶时是同一辆车吗?我可以建议:
返回this.speed>otherCar.speed
@pamphlet这样比较
double
s是不好的:@LuiggiMendoza我同意,但我只是建议不要使用if-true-return-true-else-return-false反模式。@pamphlet编辑它是为了考虑容忍度。另外,我还有if-else-true-false格式来帮助OP更好地理解它。假设速度直接输入到构造函数中,而不是在某个点上计算,那么即使在“精细”边界上,双重比较也不是安全的,当然?我可以建议:
返回this.speed>otherCar.speed
@pamphlet这样比较
double
s是不好的:@LuiggiMendoza我同意,但我只是建议不要使用if-true-return-true-else-return-false反模式。@pamphlet编辑它是为了考虑容忍度。我还有if-else-true-false格式来帮助OP更好地理解它。假设速度是直接输入到构造函数中的,而不是在某个点上计算的,那么即使在“精细”边界上,双重比较也是安全的,是吗?