Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
1 / 1 / 0
Регистрация: 12.10.2019
Сообщений: 47

Не работает сканер второй раз в цикле

14.10.2021, 11:50. Показов 1919. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, у меня есть такой кусок кода:
Java
1
2
3
4
5
6
7
8
9
10
11
Scanner sc = new Scanner(System.in);
        while (true) {
            System.out.println("Press enter and ^D for exit");
            System.out.println("Enter via spaces: ");
            List<Object> list = new ArrayList<>();
            String n = sc.nextLine();
            sc = new Scanner(n).useDelimiter("\\s");
            while (sc.hasNext()) {
                list.add(sc.next());
            }
        }
когда цикл проходит второй раз, то вылазит ошибка: NoSuchElementException: No line found в строке, где идёт присвоение значения строковой переменной. Я понимаю, что это связано, очевидно, с тем, что сканер не нашёл строку для прочтения. Каким образом можно исправить это?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.10.2021, 11:50
Ответы с готовыми решениями:

Не работает вызов второй раз
PHP 7 и вот: &lt;div class=&quot;content&quot;&gt; &lt;?php require &quot;objects/connectBD.php&quot;; if ($_GET !== &quot;all&quot;) { $addon =...

Почему SkipWhile в цикле работает только один раз
if (childrent &gt; 1 &amp;&amp; something != null) { for (int i = 0; i &lt; childrent; i++) { ...

Второй монитор работает через раз
Купил себе второй монитор на этой неделе. Привезли, установил, включил. Первый день всё работало прекрасно. Второй день тоже, однако...

5
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6236 / 2948 / 1047
Регистрация: 01.06.2021
Сообщений: 10,974
14.10.2021, 12:19
Цитата Сообщение от enesan Посмотреть сообщение
List<Object> list = new ArrayList<>();
зачем это в цикле?
0
 Аватар для Aviz__
2758 / 2065 / 509
Регистрация: 17.02.2014
Сообщений: 9,492
14.10.2021, 12:34
Лучший ответ Сообщение было отмечено enesan как решение

Решение

enesan,
Java
1
2
3
4
5
6
7
8
9
10
11
12
public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        List<String> list = new ArrayList<>();
        while (list.size() < 2) {
            String line = sc.nextLine();
            Scanner parser = new Scanner(line);
            while (parser.hasNext()) {
                list.add(parser.next());
            }
        }
        System.out.println(list);
    }
1
1 / 1 / 0
Регистрация: 12.10.2019
Сообщений: 47
15.10.2021, 08:39  [ТС]
Royal_X, он используется дальше в коде, е го приходится пересоздавать на каждой итерации

Добавлено через 8 минут
Aviz__, спасибо. Даже не подумал, что всё равно вытягиваю строки из сканера, а ошибка была как раз в присвоении старой переменной сканера нового объекта.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6236 / 2948 / 1047
Регистрация: 01.06.2021
Сообщений: 10,974
15.10.2021, 08:55
enesan, неправильно на каждой итерации заново создавать новый список. Посмотрите, как грамотно написал код Aviz__. Вот, что я имел ввиду.
1
1 / 1 / 0
Регистрация: 12.10.2019
Сообщений: 47
15.10.2021, 09:08  [ТС]
Royal_X, хорошо, я учту это, спасибо
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.10.2021, 09:08
Помогаю со студенческими работами здесь

Почему не работает выбор селекта во второй раз?
нашел скрипт для нестандартного скролла, выбираю первый раз из списка - все гуд! далее пытаюсь еще раз выбрать, но почему-то селект...

Команды в цикле выполняются на один раз больше положенного числа раз
Есть следующий скрипт: rem Данный батник производит преобразование имен телефонный аудиозаписей для их сортировки по дате записи ...

Программа не компилируется (не запускается) во второй раз (то есть только один раз)
почему у меня всего лишь один раз могу запустить программу через команду Run, когда хочу еще раз нажать Run не получается через средство...

Дважды вычислить значение выражение, первый раз используя процедуру, а второй раз-функцию
Может кто-нибудь сможет решить задачку!!! Дважды вычислить значение выражения, первый раз используя процедуру, а второй раз -функцию. ...

Сканер читает один раз.Помогите пожайлуста!
Win 2003 Server. 1Cv7.7 Scanpos.dl. Сканер Eclipse подключен к порту COM. Hyperterminal - все нормально,читает правильно,сколько...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Видеокарта простаивает ночами? Вот 4 проекта, которые загрузят её наукой
Programma_Boinc 10.04.2026
Видеокарта простаивает ночами? Вот 4 проекта, которые загрузят её наукой Если на Windows стоит дискретная NVIDIA или AMD — можно отдать её вычислительную мощность реальным исследованиям. . . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru