@pitimirov_a

(java ошибки) Почему try catch мешает дальнейшему выполнению кода?

sith[s] = new Sith();
System.out.print("Enter sith's name: ");
sith[s].name = in.next();
System.out.print("Enter the count of health points: ");
try{sith[s].health = in.nextInt();}catch(Exception e){System.out.println("He will have 100hp");}
System.out.print("Enter the value of power: ");
try{sith[s].power = in.nextByte();}catch(Exception e){System.out.println("He will have base power (1)");}

Есть у меня такой (неприятныйговно-)код и увы на первой trycatch ошибке т.е. когда я специально ее допускаю в автоматическом порядке игнорируются все последующие блоки кода внутри try.

То есть, если на ввод сюда sith[s].health = in.nextInt(); отправляем символ "#", например, в консоль выводит следующее:
He will have 100hp
Enter the value of power: He will have base power (1)

Как исправить?
  • Вопрос задан
  • 207 просмотров
Решения вопроса 1
Winsik
@Winsik
сис.админ, недопрограммист :)
try { 
    if (in.hasNextByte()) { sith[s].power = in.nextByte();}
    }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы