У вас работают getGoalsFor()
и getGoalsAgainst
? Если они работают, ваш getGoalDifference()
должен работать. Причина в том, что GoalsFor
и GoalsAgainst
являются переменными в вашем классе, и кажется, что вы можете получить доступ к этим двум переменным (так как два метода получения работают префектно отлично).
Хотя я не знаю, если это делает каких-либо различий, но оператор возврата обычно записывается в одной строке
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
=)
Edit: Также вы никогда не вычитайте методы в java. В некоторых других языках программирования «методы вычитания» более или менее возможны, но не в java. То, что вы вычитаете, всегда является переменными (значениями). Даже если вам кажется, что вы «методы substract» вы вычитаете значения, возвращаемые методами.
'GoalsFor() - GoalsAgainst();' –
Подсказка: это ** супер ** основной материал. Подумайте о том, чтобы прочитать хорошую книгу/учебник. – GhostCat
на самом деле ваш код будет работать, если они находятся в одном классе. (хотя, возможно, лучше использовать методы) – user140547