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

Scanner

16.04.2022, 14:21. Показов 436. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вопрос по работе класса сканнер

Опущу не имеющие к сути вопроса строки кода и опишу суть:
Пользователь вводит строку "Week" + номер недели после чего вводит 5 чисел и это пока не встретится строка "stop",
с этими числами делаются некие манипуляции и выводится результат

Вот мэйн в котором ожидается ввод недели
в нем я юзаю метод nextLine();
В нем вызывается метод считывающий 5 чисел (строка 16)

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
 
        while (i < 19)
        {
            .................
 
            System.out.println("вводи неделю ");
            buf = sc.nextLine();
            if (buf.equals("stop"))
                break ;
            if (buf.equals("Week " + i))
            {
                .............
                System.out.println("вводи числа ");
                number += (long)find_min(sc) * dec;
            }
            else
                continue;
            i++;
        }
    }
А метод читающий числа использует метод сканера nextInt();
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    public static int find_min(Scanner sc)
    {
        int i = 0;
        int min = 9;
        int number;
 
        while (i < 5)
        {
            if (!sc.hasNextInt())
                return 0;
            number = sc.nextInt();
            if (number <= 0 || number > 9)
                return 0;
            if (number < min)
                min = number;
            i++;
        }
        return min;
    }
так вот в чем проблема после выхода из метода find_min
в строке 9 мейна buf = sc.nextLine(); считывает еще какую-то строку которую я не вводил
входит в конструкцию else и строка "введите неделю" пишется дважды
пример строки подаваемый в методе find min - "Week 1"
пример строки подаваемый в методе find min - "4 3 5 6 7"
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.04.2022, 14:21
Ответы с готовыми решениями:

Scanner в Java (scanner.nextLine()
Добрые люди, есть код, который при одном itemName = scanner.nextLine(); не останавливается чтобы я мог вписать имя - сразу кидает на...

Методы Scanner
Есть ли метод на подобии strtok с++ из библиотеки string.h ? Необходимо разбить строку на слова и далее обрабатывать эти слова.

Scanner(System.in);
Доброго времени суток. В операторе Switch пытаюсь спарсить пункт выбора меню. Собственно в коде указано место, где не выполняется код....

1
230 / 199 / 71
Регистрация: 21.10.2016
Сообщений: 449
16.04.2022, 19:28
Цитата Сообщение от onebigtrouble Посмотреть сообщение
в строке 9 мейна buf = sc.nextLine(); считывает еще какую-то строку которую я не вводил
Там находится пустая строка "". Она появляется после использования sc.nextInt();
Известная проблема.
Нужно её вытолкнуть из буфера.
Для этого вставь перед строкой 9:
Java
1
sc.nextLine();
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.04.2022, 19:28
Помогаю со студенческими работами здесь

FileNotFoundException при работе со Scanner
Здравствуйте. Я недавно начал изучать Java (до этого изучал C#) по книге Хорстманна и столкнулся с проблемой. Имеется простейший...

Проблема в чтении чисел через Scanner
Привет. Перевожу программу с C++. Проблема в чтении чисел через Scanner. Код примерно такой: PrintWriter cout = new...

как прочесть object type используя стандартный scanner?
Javу,как и вообще программирование, учу несколько недель так что не судите строго!Сейчас пуши программу которая будет читать из зала,пример...

Как регулировать количество значений, возвращаемых объектом типа Scanner?
Доброго времени суток. Не могу побороть один момент. Простенькая программка, поведение которой следующее: 1. При входе вызывается...

Scanner
привет всем...ребята помогите!xотел создать банкомат с 10 клиентами через scanner чтот-то не получается!задание такое било.гани...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru