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更好地理解它。假设速度是直接输入到构造函数中的,而不是在某个点上计算的,那么即使在“精细”边界上,双重比较也是安全的,是吗?