我不确定如何验证对象参数的信息(参数?如果有人也可以解释差异,那就太好了!)。所以基本上,变量的默认值需要为1.0,但是当我运行1.0以下的任何值时,它不会考虑我提出的if语句。例如,负值保持负值。如何使其如果任何低于1.0,它必须设置为1.0?谢谢!
private double length;
private double width;
private double height;
public Box(double l, double w, double h){
length=l;
if(l<1.0)
l=1.0;
width=w;
if(w<1.0)
w=1.0;
height=h;
if(h<1.0)
h=1.0;
}
public void setLength(double l){
if(l<1.0)
l=1.0;
}
public void setWidth(double w){
if(w<1.0)
w=1.0;
}
public void setHeight(double h){
if(h<1.0)
h=1.0;
}
这是主要的
Box box3= new Box(7,8,9);
Box box4= new Box(-1.0,-2.0,-3.0);
答案 0 :(得分:4)
您正在设置局部变量而不是具有不同名称的成员:
private double length;
private double width;
private double height;
例如,这是对构造函数的修复:
public Box(double l, double w, double h){
length=l;
if(l<1.0)
length=1.0;
width=w;
if(w<1.0)
width=1.0;
height=h;
if(h<1.0)
height=1.0;
}
你的二传手更糟糕,因为他们目前什么都不做。通过将输入值分配给实例成员来修复它们:
public void setHeight(double h){
height = h;
if(h<1.0)
height=1.0;
}