Я пытаюсь создать линкор. Здесь я хочу получить вход с консоли с помощью Scanner
, чтобы определить место для съемки.Проблемы с фильтром Java Filter
while (x) {
while (counter) {
userInput = input.nextLine();
if (userInput.equals("cheat")) {
cheat = true;
}
uppercased = userInput.toUpperCase();
char[] c = uppercased.toCharArray();
if (uppercased.length() < 2) {
System.out.println("Error, invalid input9, try again");
break;
} else if (uppercased.equals("")) {
System.out.println("Error, invalid input1, try again");
break;
} else if (uppercased.length() > 2) {
System.out.println("Error, invalid input2, try again");
break;
} else if (c[0] < 65 || c[0] > 74) {
System.out.println("Error, invalid input3, try again");
break;
} else if (c[1] < 48 || c[1] > 57) {
System.out.println("Error, invalid input4, try again");
break;
} else {
code = uppercased;
target = map.get(uppercased);
targetPosition = target.getSymbol();
if (targetPosition != 46) {
System.out.println("You have shot here, try again");
break;
}
}
counter = false;
}
x = false;
code = uppercased;
}
проблема, когда я даю неправильный ввод, он не просит о новом входе, но он будет выполнять остальную часть моей программы.
Предполагается фильтровать входные данные так: «A1» , который используется для определения места для съемки. Как я могу отфильтровать неправильный ввод и получить новый вход?
Подсказка: Идите прочитать о том, что делать 'break' заявления. – PakkuDon
Не могли бы вы описать, что должен делать этот код? – Sildoreth