验证对象参数

时间:2014-12-05 19:55:43

标签: java

我不确定如何验证对象参数的信息(参数?如果有人也可以解释差异,那就太好了!)。所以基本上,变量的默认值需要为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);

1 个答案:

答案 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;
}