Как реализовать проверку на вхождение числа в промежуток?

Рейтинг: -2Ответов: 2Опубликовано: 03.05.2015

Делаю в своем android-приложении тесты на тематику самого приложения.

Есть переменная resultBalls, значение которой нужно проверить на вхождение в интервал, в зависимости от этого утановить значение переменной resultText:

String resultText;
int resultBalls;
...
if (resultBalls == 2 || resultBalls == 3) resultText = "Результат 1";
if (resultBalls == 4 || resultBalls == 5) resultText = "Результат 2";
if (resultBalls == 6) resultText = "Результат 3" ;

Планируются тесты с максимальным количеством баллом от 40 и до 200.

Мне не подойдет используемый сейчас в коде метод с "или", так как это будет очень нерационально и код получится очень большим.

Вопрос: можно ли указать в операторе if какой-то числовой промежуток вместо простого числа и бесконечного повторения "или"?
Например, [10-30], [31-40]

Ответы

▲ 3Принят

Тащемта так

if (resultBalls >= 10 && resultBalls <= 30)
▲ 2

update - первый вариант был нерабочий.

Если диапазон равный для всей шкалы: 31- 40 , 41 - 50 , 51 - 60 и тд. , а resultBalls целого типа, то можно упростить конструкцию (при делении целых типов дробная часть отбрасывается) :

 int resultBalls;

 switch ((resultBalls-1)/10) {
   case 3:resultText = "result1";break; // с 31 до 40
   case 4:resultText = "result2";break; // с 41 до 50
   case 5:resultText = "result3";break; // с 51 до 60
   case 6:resultText = "result4";break; // с 61 до 70
   default:resultText = "результат <31 (или >70)"
 }