Мне трудно понять, почему мой код не работает для этой проблемы, которую я пытаюсь решить.
Вопрос: Учитывая 2 положительных значения int, верните большее значение, которое находится в диапазоне от 10 до 20 включительно, или 0, если ни одно из них не находится в этом диапазоне.
Мой код:
public int max1020(int a, int b) {
int max;
if((a<10 || a>20) && (b<10 || b>20)) {
max = 0;
}
if(Math.max(a,b) >= 10 && Math.max(a,b) <= 20) {
max = Math.max(a,b);
} else {
max = Math.min(a,b);
}
return max;
}
Все числа работают, кроме случаев, когда a = 9 и b = 21, чего я просто не понимаю. Где я ошибся?