Это то, что я написал до сих пор, но когда возникает исключение, он больше не запрашивает у пользователя ввода.Как я могу взять только целочисленный ввод с клавиатуры и если ввод недействителен, как я могу снова спросить пользователя?
do {
System.out.println("Enter the number of stones to play with: ");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String temp = br.readLine();
key = Integer.parseInt(temp);
} while (key < 0 && key > 9);
if (key < 0 || key > 10)
throw new InvalidStartingStonesException(key);
player1 = new KeyBoardPlayer();
player2 = new KeyBoardPlayer();
this.player1 = player1;
this.player2 = player2;
state = new KalaGameState(key);
} catch (NumberFormatException nFE) {
System.out.println("Not an Integer");
} catch (IOException e) {
System.out.println(e);
}
код действительно не делает этого. Вы задали аналогичный вопрос с другой учетной записью до: http://stackoverflow.com/questions/2614930/i-am-getting-exception-in-main-thread-even-when-i-am-handling-the-exception Зарегистрируйте свою учетную запись и придерживайтесь одной и той же учетной записи: http://www.google.com/search?q=InvalidStartingStonesException+site%3Astackoverflow.com – BalusC
Тег как домашнее задание? – Anonymoose