Используя троичные операторы, вы можете выполнить критерии в одной строке кода:
n % 2 != 0 ? "Weird"
: (n >= 2 && n <= 5 ? "Not Weird" : (n >= 6 && n <= 20 ? "Weird" : (n > 20 ? "Not Weird" : "")))
Демонстрация:
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
public class Main {
public static void main(String[] args) {
// Create a list of test integers from 1 to 25
List<Integer> testNumbers = IntStream.rangeClosed(1, 25).boxed().collect(Collectors.toList());
for (int n : testNumbers) {
System.out.println(n + " -> " + whatIsIt(n));
}
}
static String whatIsIt(int n) {
return n % 2 != 0 ? "Weird"
: (n >= 2 && n <= 5 ? "Not Weird" : (n >= 6 && n <= 20 ? "Weird" : (n > 20 ? "Not Weird" : "")));
}
}
Выход:
1 -> Weird
2 -> Not Weird
3 -> Weird
4 -> Not Weird
5 -> Weird
6 -> Weird
7 -> Weird
8 -> Weird
9 -> Weird
10 -> Weird
11 -> Weird
12 -> Weird
13 -> Weird
14 -> Weird
15 -> Weird
16 -> Weird
17 -> Weird
18 -> Weird
19 -> Weird
20 -> Weird
21 -> Weird
22 -> Not Weird
23 -> Weird
24 -> Not Weird
25 -> Weird
Не стесняйтесь комментировать в случае каких-либо сомнений / проблем.