Это конец

  • 4
  • Недоступна
Давайте создавать список строк, вводя их с клавиатуры, пока не надоест. Надоесть может в любой момент, и на этот случай нужно придумать специальное слово. Пускай этим словом будет «end», то есть «конец». А зачем нам эти строки, спросите вы. А мы ответим: затем, чтобы добавлять их в список, а затем выводить на экран.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (83)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Oleh Krachun9 уровень
1 марта, 02:41
list.forEach(System.out::println); вывод на печать всего списка. Обьясните функционал двойных ::.
Дмитрий Войтенко20 уровень, Харьков
16 января, 14:24
Подскажите почему в цикле while нужна была переменная в методе s.equals() и list.add(s)? Сначала писал list.add(reader.readLine()), так не проходило валидацию, да и в Idea криво отрабатывала (выводило всегда только 2 значения, а иногда просто зависала).
Alexander Korznikov9 уровень, Киев
19 января, 10:50
Тоже самое, будет интересно узнать ответ.
Bamb9 уровень, Москва
19 января, 12:41
Наверное потому, что каждый раз используя "reader.readLine()", мы получаем новую строку. Если ссылку на неё присвоить переменной, то мы будет работать с данной строкой. Иначе c разными.
Franksol7 уровень, Новосибирск
12 марта, 16:00
тогда end будет сразу добавляться в список. нужно сначала считать строку, потом проверить на end, потом добавить в список если все ок.
Александр19 уровень, Казань
15 января, 11:28
Для заполнения листа использовал while, для вывода for - проверку прошел.
Anatolf12 уровень, Санкт-Петербург
13 января, 15:19
можно удалять объект из списка вот так, если кому вдруг захотелось добавить и последнее слово "end" в список: list.remove("end");
DjAID8 уровень, Санкт-Петербург
19 января, 13:22
проверил - необязательно. можно просто break прописать перед занесением в список
Andrey Gogolev11 уровень, Санкт-Петербург
18 декабря 2018, 09:43
Если цикл такой сделать: - "for (int i = 0; ; i++)", - то вводить данные и выводить на печать можно в одном цикле
Juris 8 уровень
10 декабря 2018, 21:38
вся сложность задания лишь в том, как реализовать в цикле for цикл while =)
y-grek11 уровень, Киев
16 декабря 2018, 15:11
по логике людей, составляющих требования к задачам, цикл фор нужен только для вывода в консоль.. =) хотя и всю задачу можно было решить через for, например ().. только лень, while на много удобнее
Juris 8 уровень
16 декабря 2018, 16:19
пусть while иногда и понятнее смотря со стороны человеческой логики, цикл for работает при переборе элементов работает намного быстрее
Павел10 уровень
24 января, 15:39
Вот так: for(;;). Не указывая в for никакие параметры
Евгений19 уровень, Днепр
15 февраля, 12:54
Да ладно? :)
for(String s=reader.readLine();!s.toLowerCase().equals("end");s=reader.readLine()) {}
Viktor 9 уровень
12 марта, 23:00
зачетное извращение)))
Илья22826 уровень, Москва
16 ноября 2018, 13:03
С помощью инфы отсюда и своей смекалкой получил это:
for (;true;)
{String s = reader.readLine();
if (s.equals("end"))
break;
list.add(s);
P.S. Как-то неловко, что задачи вроде легкие, а до идеи не всегда удается быстро догонять, сюда лезу зачастую быстро. А на других задачах все говорят, что сложно, но при этом там как раз сам решаю за минут 5 -_-
Анатолий Гончаров8 уровень, Москва
16 января, 00:11
вот за это большое благодарю, я забыл, что String работает как ссылка, а не как примитивный тип
(s.equals("end"))
Павел10 уровень
24 января, 15:42
можно даже true не указывать в условиях цикла, просто for(;;)
Илья22826 уровень, Москва
24 января, 16:29
Сейчас я бы вообще заюзал while(true) {} xD как давно это было
Илья22826 уровень, Москва
24 января, 16:31
тю, прочитал, что через for тогда да, можно просто for(;;) ))
Александр8 уровень
10 марта, 19:18
for (;true;)
Это конструкция для добавления строк с только с условием? Как можно написать for, если не знаем кол-во вводимых элементов и нет стоп-слова/символа?
Иван22 уровень
26 октября 2018, 16:21
Тут многие пишут второй цикл для вывода на экран строк из листа. Я запилил проще - сначала залил строку в список и следом выводил эту же строку на экран. Самом собой это было в теле логического оператора if в ктором строка проверялась на несоответствие слову "енд"
Костя Демчук10 уровень
30 октября 2018, 19:30
получается после каждой введенной строки "!end" она сразу выводиласьна экран?
VitalyK #111612415 уровень
6 августа 2018, 10:05
кому нужен бесконечный цикл -> for (int i=0; ; i++) { list.add(reader.readLine()); if (list.get(i).equals("end")) { list.remove(i); break;}
Александр Толкачёв22 уровень, Санкт-Петербург
20 августа 2018, 17:31
бесконечный цикл for делается проще
for(;;) {}
Alexander17 уровень
2 октября 2018, 15:44
В чем смысл добавлять, а потом удалять, если можно (и нужно) сразу не добавлять "end"?
Riccio17 уровень, Москва
13 октября 2018, 13:08
Тогда уж
while (true) {
...
}
А циклом for оформить вывод.
Иван Зубов30 уровень, Москва
25 июля 2018, 16:24
непонятно где использовать for: при формировании цикла ввода строк списка или при выводе списка