Вопрос о форматированном выводе на экран на JAVA

Многим вопрос покажется дурацким. Но столкнулся с нелепой проблемой, написав программу, не могу вывести адекватно данные на экран.Программа выдаёт информацию по каким этажам прошёл лифт, а введя 0 выбрасывает из программы. Вот, что мне нужно в точности: этаж 5 -> этаж 12 - этаж 0 Теперь сам кусок кода:

System.out.println("Лифт проследовал по следующим этажам:");
floors.poll();
System.out.printf("Этаж %d -> ", floors); // работаю с очередями Deque, не знаю, как правильно вывести!

Ответы (1 шт):

Автор решения: Alexandr

Попробуйте так:

System.out.printf(
        "Этажи: %s",
        floors.stream()
                .map(f -> "этаж " + f)
                .collect(Collectors.joining(" -> ")));

Update:

int floorIndex = 0;
System.out.print("Этажи: ");
for (int floor: floors) {
    if (floorIndex > 0) {
        System.out.print(" -> ");
    }
    System.out.printf("этаж %d", floor);
    floorIndex++;
}
→ Ссылка