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

  • 4
  • Недоступна
В архиве пылится старенькая решённая задача. В ней нужно вводить строки, а затем, после введения пустой строки, все буквы в строках конвертировались в верхний регистр. Модернизируйте задачу: программа должна построить новый список. Если в строке чётное число букв, строка удваивается, если нечётное – утраивается. Ввод строк оставляем без изменений.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (55)
  • популярные
  • новые
  • старые
Для того, что бы оставить комментарий вы должны авторизоваться
Sergey Bezverkhniy8 уровень
суббота, 19:17
Так, чтобы не ошибиться. Все прошло и коротко. Не надо прописывать еще раз условия вывода. ArrayList<String> L1 = new ArrayList<>(); for (int i=0; i<L.size(); i++){ String g = L.get(i); if (g.length() % 2==0){ L1.add(g); System.out.print(g+" "); L1.add(g); System.out.println(g);} else { L1.add(g); System.out.print(g+" "); L1.add(g); System.out.print(g+" "); L1.add(g); System.out.println(g);
Lena Gavrilov9 уровень
28 декабря 2018, 17:48
Не забывайте про пробелы!
Veronika26 уровень, Москва
26 сентября 2018, 13:12
Две полезности: 1) у кого выскочит NullPoinerException, пропишите в условии: s == null || s.isEmpty(); - помогает. 2) кто делает через StringBuider (метод append()), не забудьте использовать toString(). Ссыль: https://habr.com/post/132241/
Rif16 уровень
5 декабря 2018, 16:16
Спасибо. Сразу была засчитана задача.
Леонид18 уровень, Москва
12 декабря 2018, 12:13
Вы не могли бы объяснить первый пункт про s == null || s.isEmpty()? А точнее почему в лекциях везде s.isEmpty(),а если решать на сайте, такой способ через раз выдает ошибку
Veronika26 уровень, Москва
12 декабря 2018, 14:22
попробую дать объяснение, а опытные коллеги меня поправят, если что. 1) s == null; означает пустоту, то есть нет объекта. В случае с задачей, это означает когда входной поток исчерпан метод readLine() даст null. Поэтому данное выражение обязано быть в условии if. 2) s.isEmpty(); означает, что объект есть, но у него пустое значение (""). Если мы запишем данное выражение в if и наткнемся на пустоту (п.1), то вылезет ошибка NPE.
Veronika26 уровень, Москва
12 декабря 2018, 14:23
на qa.ru привели пример из жизни:
Roman24 уровень, Москва
23 сентября 2018, 10:43
В условии написано утраивать строку "Кот", в то время как в примере написано "Кот Кот Кот", т.е. еще и вставка пробелов. Условие не до конца корректно :)
Виталий8 уровень
15 августа 2018, 20:40
Хочу спросить администрацию. Как так? В IDEA все отлично отрабатывает(и на сайте тоже все при запуске отрабатывает правильно). Вроде код правильный.
Виталий8 уровень
16 августа 2018, 08:43
Нашел ошибку. Исправил - валидатор принял, но все таки он не правильно ошибку описывает, тут проблемы с выводом была, а не с тем что ввод бесконечный.
MP14 уровень
17 июля 2018, 15:43
Истина
Alexander Sedov28 уровень, Москва
4 июля 2018, 16:02
вечно забываю про СтрингБилдер
Артём 22 уровень, Санкт-Петербург
13 мая 2018, 19:53
А почему никто не обращает внимания на то, что "число букв" и "число символов"(который выдает length()) это разные вещи? Ведь длина "a b" = 3, а кол-во символов = 2. Так если в вводимой строке будет пробел, то четные будут утраиваться, а нечетные удваиваться
24 июня 2018, 23:34
в задаче написано, что четное или нечетное кол-во букв.
Любомир17 уровень, Киев
30 марта 2018, 12:07
Вы решили задачу лучше, чем 1% учеников. Батя, я стараюсь!
DinosauR12 уровень, Киев
13 апреля 2018, 00:35
Ахаха)))
Rihard198533 уровень
1 июня 2018, 13:43
1% из 897 000 зарегистрированных это круто. Значит ты вошел в 10 000 самых крутых по этой задаче
Любомир17 уровень, Киев
3 июня 2018, 17:21
скорее наоборот
Orackle26 уровень
22 марта 2018, 14:47
Совсем просто решается через StringBuffer append()