class WL
{ private double value=0;
private String scale="none";
private boolean isValid=false;
public WL(double _value,String _scale)
{ value=_value;
scale=_scale;
if((value>=0)&&((scale.equals("meter"))||(scale.equals("feet"))))
isValid=true;
}
public WL convertToFeet()
{if((scale.equals("feet"))||(!isValid))
return this;
else
return new WL(value*3.2809,"feet");
}
public WL convertToMeter()
{if(scale.equals("meter"))
return this;
else
return new WL(value/3.2809,"meter");
}
public void showWL()
{if(isValid)
System.out.println(value+""+scale);
else
System.out.println("invalid length");
}
}
public class Length
{public static void main(String args[])
{ WL a=new WL(10,"feet");
a.convertToFeet().showWL();
}
}
大家帮我看看,if((scale.equals("feet"))||(!isValid))里面的!isValid是什么意思?有什么作用?
{ private double value=0;
private String scale="none";
private boolean isValid=false;
public WL(double _value,String _scale)
{ value=_value;
scale=_scale;
if((value>=0)&&((scale.equals("meter"))||(scale.equals("feet"))))
isValid=true;
}
public WL convertToFeet()
{if((scale.equals("feet"))||(!isValid))
return this;
else
return new WL(value*3.2809,"feet");
}
public WL convertToMeter()
{if(scale.equals("meter"))
return this;
else
return new WL(value/3.2809,"meter");
}
public void showWL()
{if(isValid)
System.out.println(value+""+scale);
else
System.out.println("invalid length");
}
}
public class Length
{public static void main(String args[])
{ WL a=new WL(10,"feet");
a.convertToFeet().showWL();
}
}
大家帮我看看,if((scale.equals("feet"))||(!isValid))里面的!isValid是什么意思?有什么作用?
isValue就为true
if((scale.equals("feet"))||true)前面的scale.equals("feet")输出的值也是true or false的