Ваша попытка выглядит очень близко к тому, чего вы хотите достичь.
В настоящее время у вас есть следующий фрагмент кода, который приведет к завершению программы, если пользователь введет любое число, меньшее или равное 9 * 1003.*
if (value <= 9) {
break;
}
Чтобы строго соответствовать требованию о прекращении работы программы, если пользователь вводит число от 0 до 9, возможно, эта проверка должна выглядеть примерно так:
if (value >=0 && value <=9) {
break;
}
В Java выможно использовать оператор && в операторе if, чтобы гарантировать выполнение кода внутри оператора if только в том случае, если оба условия по обе стороны от && выполнены.
Почему бы не добавить оператор печати, который запрашиваетПользователь, что они ввели правильный ответ?Например,
if (value >=0 && value <=9) {
System.out.println("Correct");
break;
}
С точки зрения вашего текущего кода, он уже завершается, если пользователь вводит любое число больше 9 более чем в 3 раза, так что это хорошо.Я думаю, что если вы исправите оператор if, о котором я упоминал выше, вы должны быть ближе к ожидаемому поведению.
Последнее, что следует отметить, - программа вызовет эту строку
System.out.println("Please rerun the program and enter a number 0-9");
Независимо от того, как завершается цикл do-while.Если вы хотите, чтобы программа полностью завершала работу, когда пользователь вводит правильное предположение, не печатая эту строку, вы можете просто добавить оператор возврата вместо разрыва:
if (value >=0 && value <=9) {
System.out.println("Correct");
return;
}
Это заставит метод main 'return 'вместо продолжения выполнения каких-либо инструкций, это приведет к завершению программы