Поэтому я должен спросить пользователя, старше ли он 18 лет, и он должен ответить, правда или ложь. И продолжайте цикл, пока они не введут правильный ввод
Пока что у меня это
boolean b = false;
do {
try {
System.out.print("Are you above 18?");
Scanner n = new Scanner(System.in);
boolean bn = s.nextBoolean();
if (bn == true) {
// do stuff
} else if (bn == false) {
// do stuff
}
} catch (InputMismatchException e) {
System.out.println("Invalid input!");
}
} while (!b);
ОДНАКО, это не сработает, так как цикл продолжается, и он не будет правильно читать ввод и выполнять мои операторы if. Как это исправить? Спасибо!
y/n
. - person M-WaJeEh   schedule 15.05.2014bn == true
является избыточным.bn
оценивается как логическое значение. - person Sotirios Delimanolis   schedule 15.05.2014b
значениеtrue
внутри одного из ваших условий? Ваш цикл не остановится, покаb
не станетtrue
и на него не будет ссылки в вашем цикле. Вы хотели сделать, пока(!bn)
?. - person Kon   schedule 15.05.2014if(bn == true)
наif(bn)
. - person M-WaJeEh   schedule 15.05.2014