2016-11-29 115 views
-7

所以我宣布了一个名为Divider的类,并且有实例变量private int divisor;与构造Setter和getter消息

public Divider() 
{ 

    divisor = 2; 

} 

问题是 1)写出除数公共getter方法。 2)写一个除数的公共setter方法,如果后者不为0,则将除数设置为参数值。如果为0,则该方法不执行任何操作。 (这是因为顾名思义,除数将被用于分割,所以参数的值不能为零,并且设置者只能将其设置为非零值。)

对于getter消息I有

}

对于设定器消息我有

public void setValue(int number){ 
    if(number == 0) 
    this.divisor = number; 

} 

当我测试的代码,将消息发送到吸气剂和它返回值2。但是,当我测试setter消息它将值设置为0.我不认为这是正确的,因为我不能使用0我认为。任何人都可以帮忙吗?

+2

'if(number!= 0)'。 –

+3

请不要使用不同的帐户两次发布[相同的问题](http://stackoverflow.com/questions/40856408/stuck-on-creating-a-setter-method/40856434?noredirect=1#comment68929451_40856434)。 – Gendarme

回答

0

您需要更改

if(number == 0) 

if(number != 0) 

它不会设置divisor如果传递的参数为0

0

你需要反转的逻辑,你不想要一个除以零误差

public void setValue(int number){ 
    if(number != 0){ 
     this.divisor = number; 
    } 
}