2016-11-29 146 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; 
    } 
}