В этом рекурсивном методе я пытаюсь вычислить число, используя начальный вызов mystery5(-23, -48)
. Пройдя мою первую серию утверждений if, я добираюсь до чисел 23
и 48
. Как только я перейду на другую ветвь утверждений решения, какое приоритетное значение имеет вызов метода в уравнении? Кроме того, появляется отрицательный знак перед вызовом метода mystery5
в первых двух операциях if, указывающих на то, что будет положительное значение x
, если в вызов метода вставлен -23
(пример: -mystery5(-23, -48)
)?Вычисление возвращаемого значения с помощью рекурсии
public int mystery5(int x, int y){
if (x < 0) {
return -mystery5(-x, y);
} else if (y < 0) {
return -mystery5(x, -y);
} else if (x == 0 && y == 0) {
return 0;
} else {
return 100 * mystery5(x/10, y/10) + 10 * (x % 10) + y % 10;
}
}