2016-11-29 4 views
-7

그래서 Divider라는 클래스를 선언했으며 인스턴스 변수 private int divisor를가집니다. 생성자세터 및 getter 메시지

public Divider() 
{ 

    divisor = 2; 

} 

문제는 1)에 제수를위한 공공 getter 메소드를 작성합니다. 2) divisor에 대한 public setter 메서드를 작성합니다.이 메서드는 인수의 값에 제수를 설정합니다. 인수가 0이 아닌 경우 메서드는 아무 것도 수행하지 않습니다. (이것은 이름에서 알 수 있듯이 제수가 나눗셈에 사용되기 때문에 인수의 값은 0이 아니며 설정자는 0이 아닌 값으로 설정해야하기 때문입니다.)

getter 메시지의 경우 이

} 세터 메시지

내가 코드를 테스트 할 때

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

당신은 전달 된 인수는 논리를 반전 할 필요가 0

0

경우 그것은 divisor을 설정하지 않습니다

if(number == 0) 

if(number != 0) 

을 변경해야합니다, 당신은 원하는 해달라고 제로 오차로 나누기

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