как проверить диапазон, используя только оператор if

#java

#java

Вопрос:

Как я могу написать код с определенным требованием, имеющим диапазон между frontR и frontL , который должен быть между 1-3 ?

Код:

 System.out.println("Input right front pressure: ");
frontR = keyboard.nextInt();

if (frontR >= 32 amp;amp; frontR <= 42) {
    inflation = "good";
}
else{
        warning = "Warning: pressure is out of range";
        inflation = "BAD";
}

System.out.println("Input left front pressure: ");
frontL = keyboard.nextInt();

if (frontL >= 32 amp;amp; frontL <= 42) {
    inflation = "good";
}
else {
    warning = "Warning: pressure is out of range";
    inflation = "BAD";
}
  

Комментарии:

1. Предположим, у вас есть функция, которая возвращает разницу между двумя числами. Не могли бы вы написать это тогда?

2. Привет, Рио, и добро пожаловать в StackOverflow. Я боюсь, что ваш вопрос не получит правильных ответов в ближайшее время, потому что на самом деле это не вопрос. Было бы лучше, если бы вы рассказали нам о своих проблемах, своих идеях и показали нам свое решение. Не беспокойтесь, работает или нет.

3. ПОДСКАЗКА: Math.abs(frontL - frontR) может вам помочь.

Ответ №1:

если вы хотите проверить разницу между двумя числами, вам нужно их вычесть. Результат может быть отрицательным, если первое число меньше второго, поэтому вы можете захотеть использовать Math.abs() , который снова сделает его положительным. Тогда у вас есть положительное число, которое вы можете проверить на наличие значений от 1 до 3:

 int difference = Math.abs(frontL - frontR);

if (difference >= 1 amp;amp; difference <= 3) {
    inflation = "good";
}
else {
    warning = "Warning: difference between pressure left and right detected";
    inflation = "BAD";
}