Меняем функциональность

  • 5
  • Недоступна
В архиве пылится старенькая решённая задача. В ней нужно вводить строки, а затем, после введения пустой строки, все буквы в строках конвертировались в верхний регистр. Модернизируйте задачу: программа должна построить новый список. Если в строке чётное число букв, строка удваивается, если нечётное – утраивается. Ввод строк оставляем без изменений.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (181)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Александр Сидоренко
Уровень 10, Днепр
11 февраля, 08:23
Как же сложно править чужой код, в таких задачах максимально тупым себя чувствую((
Александр Продан
Уровень 9, Одесса, Украина
29 декабря 2021, 00:32
Оставил цикл заполнения массива, остальное удалил и вставил for\if. вроде достаточно аккуратно получилось, хотя ( + " " + ) немного цепляет глаз for (int i = 0; i < strings.size(); i++) { if (strings.get(i).length()%2 == 0) { System.out.println(strings.get(i) + " " + strings.get(i)); } else{ System.out.println(strings.get(i) + " " + strings.get(i) + " " + strings.get(i)); }
Макс
Уровень 11, Россия
23 декабря 2021, 14:21
потому что null - это ничто. просто нул. а isEmpty() - проверяет на пустую строку. например: " " - пустая строка, но не null
antlantis
Уровень 25
20 июня 2021, 03:27
товарищи, подскажите пожалуйста, кто в курсе, для чего двойная проверка if (s == null || s.isEmpty()) - (подсмотрено в правильном решении администрации) почему нельзя было обойтись одной из них
Владислав Лисаковський
Уровень 14, Винница
7 августа 2021, 14:45
" | | " значит " ИЛИ " тип как " && " значит " И "
Popka
Уровень 11, Белгород, Россия
8 августа 2021, 13:30
причем здесь это? Он спрашивает зачем сначала проверять "s == null", а затем опять проверять "s.isEmpty()" - если по сути это одно и тоже. Почему нельзя просто вот так написать: if (s == null) или вот так: if (s.isEmpty())
Kuksh
Уровень 15
25 мая 2021, 07:00
Удалил последний цикл и вместо него вставил foreach с if/else if, потом вообще через тернарный упростил в одну строчку)
Popka
Уровень 11, Белгород, Россия
8 августа 2021, 13:31
я вообще все к двум циклам и одному массиву свел. Удалил ненужный result и просто добавлял в уже существующий strings. И вывод сделал сразу после добавления значений в массив. В итоге 1 цикл на инициализацию массива и один цикл на проверку, добавление + тут же вывод на экран.
Андрей Dungeon Master
4 мая 2021, 12:39
Можно удалить второй список и просто в цикле с выводом прописать if/else на четное/нечетное кол-во букв
Владоs
Уровень 2, Луганск, Украина
19 апреля 2021, 21:56
и не забудьте про пробелы
Rodion
Уровень 20, Munich, Germany
9 февраля 2021, 20:10
Изменения вносить с 26 строки и только внутри For { }
Rustam
Уровень 9
9 февраля 2021, 05:34
Второй arraylist, вместе с циклом фор можно и закоментить он совсем не нужен, 1 циклом проходите по первому списку сравнивая %2==0 или % 2 != 0 если 0 то соут array.get(i) + array.get(i) если не равно 0 то выводите трижды
Vladyslav
Уровень 15, Израиль
2 февраля 2021, 15:32
Решил задачу, по всем "заповедям" стринга: "Стринг лишний раз не дублируй! А, если собрался этим заниматься, вот тебе Стринг Билдер в помощь." :))) 1. Создал СтрингБилдер, присвоил ему стринг. 2. Поставил условия с делением по модуля на 2 3. Если "тру" - апендами добавляем пробел и новую строку. 4. Если "фолс" - апендами добавляем 2 пробела и 2 строки по очередности. 5. Конвертируем обратно в туСтринг. 6. Добавляем в наш новый список.