Обработать пустую строку в консоли при использовании BufferedReader
У меня есть задача где пользователь вводит 3 числа не превосходящих 10^9 по модулю, если все 3 числа четные ,то на экран выводится WIN , в остальных случаях FAIL.И я не могу понять как используя BufferedReader обработать пустую строку и вывести FAIL
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[] array = new int[3];
String[] strNums;
strNums = br.readLine().split("\\s");
for (int i = 0; i < 3; i++) { // заполняем массив
array[i] = Integer.parseInt(strNums[i]);
if (strNums[i].isEmpty() == true){
System.out.println("FAIL");
break;
}
}
for (int i = 0; i < 3; i++) {
if (array[0] % 2 == 0 && array[1] % 2 == 0 && array[2] % 2 == 0) {
System.out.println("WIN");
break;
} else {
System.out.println("FAIL");
break;
}
}
}
Ответы (1 шт):
Автор решения: Дмитрий
→ Ссылка
Зачем вам столько всего? В Этом коде можно ввести неограниченное количество цифр церез пробел. Если хотите конкретно 3, то добавьте проверку массива на размер. Чтобы сделать еще проще - используйте класс Scanner.
public static void main(String[] args) throws IOException {
String maychResult = "WIN";
String [] arr = new BufferedReader(new InputStreamReader(System.in)).readLine().split("\\s");
for (String arg : arr) {
if (!isEvenNumber(arg)) {
maychResult = "FAIL";
break;
}
}
System.out.println(maychResult);
}
private static boolean isEvenNumber(String arg) {
try {
return Integer.valueOf(arg.trim()) % 2 == 0;
} catch (Exception e) {
return false;
}
}