2016-10-23 9 views
1

멍청한 질문이지만, 목표 차이를 계산하고 싶습니다. 그래서 두 가지 방법은 "목표"와 "목표"입니다. getGoalDifference 메서드를 누를 때마다 결과를 반환하도록이 두 메서드를 뺍니다. 컴파일을 시도하지 않고Java에서 두 가지 방법을 빼는 방법은 무엇입니까?

public int getGoalsFor(){ 

    return GoalsFor; 
} 

public int getGoalsAgainst(){ 

    return GoalsAgainst; 
} 

public int getGoalDifference(){ 

    return 

    GoalsFor - GoalsAgainst; 



} 
+0

'GoalsFor() - GoalsAgainst(); ' –

+1

힌트 : ** 슈퍼 ** 기본 사항입니다. 좋은 책/튜토리얼을 읽는 것을 고려하십시오. 동일한 클래스에 있다고 가정하면 – GhostCat

+0

실제로 코드가 작동합니다. (비록 메소드를 사용하는 것이 더 나을지도 모르지만) – user140547

답변

0

을 (물론, 나는 getGoalDifference 방법의 본문에 아래와 같습니다 완전히 잘못 쓴, 난 그냥 정확한 코드가 무엇인지 모른다),하지만 기능은해야는 다음과 같습니다

public int getGoalDifference(){ 
    return this.getGoalsFor() - this.getGoalsAgainst(); 

} 
+0

이것을 사용하지 마십시오. 메서드 호출 (나는 심지어 그것이 허용되지 않는다고 생각한다) –

+0

당연히 이것을 사용할 수있다. 그러나 이것도 가능합니다. 그가 반환하는 것이 변수 이름 인 경우 그의 견본조차도 작동해야합니다. – vlada

+0

아 물론 물론, 그건 내 실수 였어. –

0

다음과 같이 할 수 있습니다

public int getGoalDifference(){ 
     int goalsFor,gaolsAgainst; 
     goalsFor = GoalsFor(); 
     gaolsAgainst = GoalsAgainst(); 
     int result = goalsFor - gaolsAgainst ; 
     return result; 
    } 
+0

getGoalsFor() 및 getGoalsAgainst()입니다. 특히 newby가 이러한 종류의 실수를 묻는 경우 질문자에게 혼란스러워 할 수 있습니다.) –

+0

내 대답 @MeinName –

-1

당신은이 개 값을 캡처 한 후 직접 두 가지 방법을 빼지, 이들의 차이를 반환합니다. 어쩌면 다음과 같을 수도 있습니다.

public static int totalGoals(int goalsFor, int goalsAgainst){ 
return goalsFor - goalsAgainst; 

원한다면 한 가지 방법을 원할 것입니다.

+0

을 왜 업데이트했는지, 그리고 왜 입력 변수가 업데이트 되었습니까? –

1

getGoalsFor()getGoalsAgainst 방법이 작동합니까? 그들이 작동한다면 getGoalDifference()도 잘 작동합니다. 그 이유는 GoalsForGoalsAgainst이 클래스의 변수이기 때문에이 두 변수에 액세스 할 수있는 것처럼 보입니다 (두 가지 메소드가 완벽하게 잘 작동하기 때문에).

이 차이를 취하면 내가 모르겠지만, 코드가 여전히 작동하지 않으면 return 문이 정상적으로

public int getGoalDifference(){ 
    return 

    GoalsFor - GoalsAgainst; 
} 

public int getGoalDifference(){ 
    return GoalsFor - GoalsAgainst; 
} 

대신 한 줄에 기록되어 있지만 문제/오류가 무엇인지 설명하십시오.

물론 당신은 또한 다음과 같은() 메소드를 getGoalifferences을 작성할 수 있습니다

public int getGoalDifference(){ 
    int goalsFo = getGoalsFor(); 
    int goalsAg = getGoalsAgainst(); 
    return goalsFo - goalsAg; 
} 

또 다른 작은 정보 : 변수 이름은 일반적으로 작은 글자 goalsFor 대신 GoalsFor의 시작 =)

편집 : 또한 당신은 절대 Java의 메소드를 빼 내지 마십시오. 다른 프로그래밍 언어에서는 "빼는 방법"이 다소 가능하지만 자바에서는 그렇지 않습니다. 당신이 빼는 것은 항상 변수 (값)입니다. 비록 당신이 "substract methods"처럼 보이더라도, 메소드에 의해 리턴 된 값을 빼는 것입니다.