То, что я пытаюсь сделать, - это ввести много цифр, а затем нажать Enter, а затем сохранить все эти числа в стек сразу. Моя мысль была использовать цикл, чтобы пройти через все цифры и толкать их в стек так:Java-сканер hasNextInt() вызывает бесконечный цикл
Stack<Integer> mainBin = new Stack<Integer>();
Scanner scanner = new Scanner(System.in);
while (scanner.hasNextInt()) {
mainBin.push(scanner.nextInt());
}
Однако, даже после того, как я нажимаю войти во много раз, не вводя ничего нового, он все еще остается в петле. Какие-либо предложения?
Ну, это буквально весь код, который у меня есть до сих пор. Я столкнулся с этой проблемой, выполняя еще одну программу, и задавался вопросом, что происходит, поэтому я просто пытаюсь выяснить проблему самостоятельно. Больше не нужно кода. Просто хочу знать, почему цикл продолжается, или что является лучшим способом достижения таких же результатов? – Chaus
Возможный дубликат [Как использовать .nextInt() и hasNextInt() в цикле while] (http://stackoverflow.com/questions/26566773/how-to-use-nextint-and-hasnextint-in-a- while-loop) – Tom
@sam Поскольку вы, похоже, являетесь _very_ новым для Java: ideone использует другой 'InputStream' для имитации пользовательского ввода, и он ведет себя по-разному, поэтому попытка воспроизвести этот вопрос с ideone здесь не поможет. – Tom