Как я могу добавить заявление об ошибке в цикл, если пользователь ввел буквы вместо цифр

#java #loops #random #error-handling

Вопрос:

Как я могу добавить заявление об ошибке в цикл, если пользователь ввел буквы вместо цифр, но программа должна продолжить

 package sample; import java.util.Scanner; import java.util.Random;  public class Main {   public static void main(String[] args) {  Scanner scan = new Scanner(System.in);  Random rand = new Random();  int playerGuess;  int randomNum = rand.nextInt(50)   1;  int numberOfAttempts = 0;  while (true) {  System.out.println("Guess a number from 1 to 50: ");  playerGuess = scan.nextInt();  numberOfAttempts  ;   if (playerGuess == randomNum) {  System.out.println("Congratulations! The number was: "   randomNum);  System.out.println("You got it in "   numberOfAttempts   " attempts.");  break;  }  else if (randomNum gt; playerGuess) {  System.out.println("Your guess is too low. Try again.");  }  else {  System.out.println("Your guess is too high. Try again.");  }  }  } }  

Моя программа работает нормально, но я забыл, как добавить сообщение об ошибке в цикл. Может ли кто-нибудь помочь мне, где и как добавить заявление об ошибке, когда пользователь вводил буквы вместо цифр? Заранее спасибо! :)))

Комментарии:

1. Объявите playerguess и инициализируйте значение = 0. Используйте переменную в качестве условия ‘(playerGuess == 0)` для вашего while цикла. Поместите playerGuess = scan.nextInt(); строку кода в try/catch ситуацию блока. Поместите весь остальной код в блок try кода и в конце добавьте playerGuess = 0; . В catch блоке сообщите Пользователю об ошибке и сделайте playerGuess переменную = 0. Также используйте символ новой строки из нажатия клавиши ВВОДА (‘scan.nextLine();’). Если ты не можешь вспомнить, как…ты уже должен это сделать.

Ответ №1:

Вы можете проверить наличие ошибок с помощью блоков try и catch. Все, что вам нужно сделать, это поместить код, подверженный ошибкам, в блок try, проверить наличие ОПРЕДЕЛЕННОГО исключения и обработать его. Не оставляйте улов пустым, это плохая практика. Вы могли бы сделать это таким образом, но я бы рекомендовал использовать операторы if, чтобы проверить, содержат ли ваши входные данные числа