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

Сравнить элементы в очереди LinkedList

10.09.2022, 21:00. Показов 701. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте всем. Я недавно начал изучать программирование (начал с языка JAVA). Мне нужна помощь в решении задачи, а конкретно вопрос: как сравнить введенное число с консоли с предыдущим введенным числом, которое добавилось в очередь, если они равны? Задача про лифт, где нужно вводить числа, после чего в итоге отобразится список последовательно введенных чисел (этажей). НО если число друг за другом повторяется, оно не должно добавляться в очередь (типа лифт, находясь на энном этаже не поедет на этот же этаж, т. к. он и так на нём). Теоретически я понимаю как описать этот метод, а в виде кода реализовать - проблема. Мною написанный код:


Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.util.Deque;
import java.util.LinkedList;
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        Deque<Integer> elevator = new LinkedList<>();
        while (true) {
            System.out.println("Ожидаю ввода этажа: (для завершения введите 0)");
            int input = scanner.nextInt();
 
            if (input <= 25 && input > 0) {
               boolean s = elevator.offer(input);
               
            }
 
            if (input == 0) {
                System.out.println("Лифт проследовал по следующим этажам:");
                while (!elevator.isEmpty()) {
                    System.out.print("этаж " + elevator.poll() + " -> " );
                }
                System.out.print("этаж -> 0");
                break;
            }
            if (input > 25) {
                System.out.println("Такого этажа нет в доме");
            }
        }
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.09.2022, 21:00
Ответы с готовыми решениями:

Переместить все элементы первой очереди в конец второй очереди
Даны две очереди; адреса начала и конца первой равны P1 и P2, а второй — P3 и P4 (если очередь является пустой, то соответствующие адреса...

Переместить все элементы первой очереди в конец второй очереди
Даны две очереди; адреса начала и конца первой равны P1 и P2, а второй — P3 и P4 (если очередь является пустой, то соответствующие адреса...

Извлекать из очереди элементы, пока значение начального элемента очереди не станет четным
Даны указатели P1 и P2 на начало и конец непустой очереди. Извлекать из очереди элементы, пока значение начального элемента очереди не...

4
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
10.09.2022, 22:05
vosese, Deque.peekLast.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38192 / 21125 / 4309
Регистрация: 12.02.2012
Сообщений: 34,732
Записей в блоге: 14
11.09.2022, 08:02


Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import java.util.Deque;
import java.util.LinkedList;
import java.util.Scanner;
 
public class Main
{
    public static void main(String[] args) 
    {
        Scanner inp = new Scanner(System.in);
        Deque<Integer> elevator = new LinkedList<>();
        int curr,prev=-1;
        
        while (true)
        {
            System.out.println("Ожидаю ввода этажа: (для завершения введите 0)");
            
            curr = inp.nextInt();
 
            if (curr == 0)
            {
               System.out.println("Лифт проследовал по следующим этажам:");
               while (!elevator.isEmpty()) 
               {
                   System.out.print("этаж " + elevator.poll() + " -> " );
               }
               System.out.print("этаж -> 0");
               break;
            }
 
            if (curr != prev)
            {
 
               if (curr <= 25 && curr > 0) 
               {
                  boolean s = elevator.offer(curr);
               }
    
               if (curr > 25) 
               {
                   System.out.println("Такого этажа нет в доме");
               }
            }
            
            prev=curr;
        }       
    }
}
0
0 / 0 / 0
Регистрация: 10.09.2022
Сообщений: 2
11.09.2022, 12:04  [ТС]
Catstail, спасибо Вам большое за помощь.
Подскажите ещё пожалуйста: есть ли какие-то ресурсы (не обязательно сайты, можно и книги), где имеются задачи от простого к сложному? чтобы практикой нарабатывать полученные знания. Я находил одну книгу Е. Г. Канель, З. Фрейман с задачами, сайт JAVARUSH (интересно, но подписку из-за санкций не получилось оплатить). Ресурсы на английском языке пока для меня проблематичны в изучении. СПАСИБО!
0
145 / 134 / 22
Регистрация: 28.06.2015
Сообщений: 674
11.09.2022, 12:21
Какой креативный крауд.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.09.2022, 12:21
Помогаю со студенческими работами здесь

Извлекать из очереди элементы, пока значение начального элемента очереди не станет четным
Даны указатели P1 и P2 на начало и конец непустого очереди. Извлекать из очереди элементы, пока значение начального элемента очереди не...

Удалить из очереди все элементы, расположенные между минимальным и максимальным элементами очереди
Привет ребят, нужна помощь по заданию: Удалить из очереди все элементы, расположенные между минимальным и максимальным элементами очереди. ...

В первой очереди найти максимальный элемент и за ним вставить элементы второй очереди
задание:Создать две очереди из случайных целых чисел. В первой найти максимальный элемент и за ним вставить элементы второй очереди. ...

Извлечь из очереди начальные элементы и вывести их значения и новые адреса начала и конца очереди
Дано число N (&gt; 0) и указатели P1 и P2 на начало и конец непустой очереди. Извлечь из очереди N начальных элементов и вывести их значения...

Переместить все элементы первой очереди (в порядке от начала к концу) в конец второй очереди
Даны две очереди; адреса начала и конца первой равны P1 и P2, а второй – P3 и P4 (если очередь является пустой, то соответствующие адреса...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru