Задача - создать функцию.
Функция принимает два аргумента:
- текущий возраст отца (лет)
- текущий возраст его сына (лет)
Рассчитайте, сколько лет тому назад отцу было в два раза больше, чем его сыну (или сколько лет ему будет в два раза).
public static int TwiceAsOld(int dadYears, int sonYears){
int dadYearsTemp = dadYears;
int years = 0;
int yearsAgo = 0;
for (int i = 0; i <= dadYears; i++ ){
if (dadYearsTemp / 2 == sonYears) {
years = dadYearsTemp;
yearsAgo = dadYears - years;
System.out.println(yearsAgo);
return yearsAgo;
}
else if (sonYears * 2 > dadYears) {
years = (sonYears * 2) - dadYears;
System.out.println(years);
return years;
}
dadYearsTemp = dadYearsTemp -1;
}
return 42; // The meaning of life
}
Например, при вводе (30, 7) я ожидаю, что моя функция вернется к 16, потому что 16 лет назад отцу было 14 лет, что означает, что ему сейчас вдвое больше, чем его сыну (7). Но моя функция возвращает 15.
Полагаю, это не большая ошибка, но я, честно говоря, не могу понять, почему это не работает, поэтому я буду признателен за некоторую помощь.