Как сканировать неопределенный список чисел с одного входа?
Я сделал короткий поиск по Google и нашел hasNextInt(), но он останавливает только проверку, если последний вход НЕ является целым числом, в то время как мне нужно его остановить, если это последнее целое число. Например, он будет продолжать спрашивать меня, заканчивается ли мой список целым числом.
Мой код:
System.out.println("Enter a list of numbers");
int n = 0;
while (input.hasNextInt()){
n = input.nextInt();
List.push(n);
}
List.displayStack();
hasNext()
этого вы можете использовать hasNext()
. Затем проанализируйте ввод и получите номер -
int n=0;
Scanner input = new Scanner(System.in);
while (input.hasNext()) {
try {
n = Integer.parseInt(input.nextLine());
//do something eg.- you have done
//List.push(n);
} catch (NumberFormatException nfe) {
//handle exception
}
}
Теперь, если вход не является целым числом, он не остановится. Скорее он пойдет на блокировку. А поскольку блок Загвоздка еще в while
циклы, так что вы можете сделать новый вход еще в настоящее время.
Надеюсь, это поможет.
большое спасибо