#java #if-statement #println #adventure
#java #if-statement #println #Приключения
Вопрос:
Я пытаюсь создать текстовую приключенческую историю с вариантами и различными сценариями. Когда я использую if(stage == *)
его, он не активирует сообщения sysout, только в моих операторах switch или добавляет его после ввода.
private static int stage = 0;
Scanner in = new Scanner(System.in);
String opt = in.next().toLowerCase();
if(stage == 0) {
System.out.println("Do you go left or right?");
switch(opt) {
case "right":
System.out.println("Swamp, you go through the thicket and move forward.");
stage = 10;
break;
case "left":
System.out.println("You find an open field with flowers all over.");
stage ;
break;
}
}
Комментарии:
1. stage ==* не является оператором
2. Вы хотите сказать, что «Вы идете влево или вправо?» распечатка не отображается, но «Болото …» или «Вы находите …» есть?
3. Какая функция это внутри? Я нигде не вижу «main».
4. Точно, @JohnKugelman , мне нужно, чтобы это тоже было напечатано, или я ошибаюсь?
5. Привет, Эрик, пожалуйста, не добавляйте решение к своему вопросу и / или не редактируйте «решаемая» в заголовок. Вместо этого отметьте ответ, чтобы отметить ваш вопрос как решенный. Если ни один из ответов не подходит вам, и вы решили его самостоятельно, предоставьте свой собственный ответ (в форме реального ответа) и отметьте его.
Ответ №1:
Вы читаете из ввода, прежде чем задать вопрос, поэтому ваш вопрос печатается после ввода.
String opt = in.next().toLowerCase();
следует продолжить, System.out.println("Do you go left or right?");
потому что чтение из ввода блокируется
Комментарии:
1. @EricLjungkrantz Если это отвечает на ваш вопрос, установите флажок, чтобы пометить его как принятый.