Я довольно новичок в Java и программировании в целом, я работаю над программой, которая должна получать данные от пользователя и основана на этих экземплярах классов создания / удаления.
Вот код:
while(true) {
int is = -1; //0 is the number of first istance
try(Scanner s = new Scanner(System.in);){
System.out.print("Enter the desired action: ");
String input = s.next();
if(input.equals("j")){
(new Thread(new Parser())).start();
}
is = Integer.parseInt(input);
if (is >= 0 && is <= (Parser.count - 1)) {
Parser.kill(is);
}else {
System.out.println("wrong key");
break;
}
}catch(NumberFormatException e){
System.out.println("exception");//
}
}
Основная проблема заключается в том, что он выдает «NoSuchElementException», если на входе не «j», я пытался перехватить исключение, но в этом случае программа зацикливается и перестает ждатьпользовательский ввод.Вот трассировка стека:
java.lang.NumberFormatException: For input string: "m"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at Task.run(Task.java:17)
at java.lang.Thread.run(Unknown Source)
Не могли бы вы указать мне, что я делаю неправильно?Есть ли какая-нибудь библиотека, которая могла бы помочь мне сделать программу, подобную cmd?