В моем консольном приложении я предоставляю пользователю возможность набирать «exit» в любой точке, чтобы вернуться в главное меню. Когда пользователь вводит данные, я вызываю его через консоль для разных вещей и собираю данные с помощью scanner
.Как проверить одно и то же состояние после каждого шага без повторения одного и того же кода снова и снова в Java?
Мой вопрос в том, как я могу проверить, был ли пользователь введен «выходить» после каждого приглашения (в отличие от запрашиваемой информации) без необходимости использовать тот же оператор if после каждого шага?
Как я вижу, любые петли while
или for
недостаточны, потому что они проверяют только условие в начале, когда мне нужно проверить состояние между входами, и мне нужно, чтобы каждый ввод/запрос выполнялся только один раз за итерация.
Ключ здесь в том, что каждый запрос/код, выполняемый между проверками, является РАЗЛИЧНЫМ, поэтому петли не будут работать.
Вот несколько примеров кода:
String first;
String second;
Scanner input = new Scanner(System.in);
//prompt user for input
first = input.nextline();
if(first.equals("exit")){
//return to start menu
input.close();
return;
}
//prompt user for DIFFERENT input
second = input.nextline()
if(second.equals("exit")){
//return to start menu
input.close();
return;
}
Я не знаю, что вы хотите создать, но вы можете создать массив, содержать вопрос insequence, и цикл через них с для/время цикла, а в теле цикла, есть один if для проверки выхода. – MikeNQ