所以我声明了一个名为Divider的类,并且有一个实例变量private int divisor;使用构造函数
public Divider()
{
divisor = 2;
}
问题是 1)为除数写一个公共getter方法。 2)为divisor编写一个公共setter方法,它将除数设置为参数的值,前提是后者不为0.如果为0,则该方法不执行任何操作。 (这是因为顾名思义,除数将用于除法,因此参数的值不能为零,并且setter只能将其设置为非零值。)
对于我有的getter消息
public int getValue() {
return divisor;
}
对于我有的setter消息
public void setValue(int number){
if(number == 0)
this.divisor = number;
}
当我测试代码时,我向getter发送一条消息并返回值2.但是当我测试setter消息时,它将值设置为0.我不认为这是正确的,因为我不能使用0我认为。有人可以帮忙吗?
答案 0 :(得分:0)
您需要更改
if(number == 0)
到
if(number != 0)
如果传递的参数为0,则不会设置divisor
。
答案 1 :(得分:0)
你需要反转逻辑,你不想要除以零错误
public void setValue(int number){
if(number != 0){
this.divisor = number;
}
}