Самые-самые

  • 4
  • Недоступна
Игры со списками в Java очень популярны. А всё потому, что это просто и интересно. Присоединяйтесь! В этой задачке создаем список строк. Затем — добавляем в него 10 строчек с клавиатуры. Самое интересное — определяем, какая строка в списке встретится раньше: самая короткая или самая длинная. Если таких строк несколько, учитываем самые первые из них.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (187)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
GigaMax12 уровень
6 мая, 18:36
самое главное, чтобы читабельно было и верно работало! Да, и быстро выполнялось)))
Oleg9 уровень, Киев
22 апреля, 19:09
В меин 13 строк кода (не учитывая фигурные скобки) Кто меньше?))
Sherlock04048 уровень, Москва
6 мая, 17:21
37 строк кода учитывая вообще все... все импорты, скобки...
GigaMax12 уровень
6 мая, 18:33
а по мне так лишь бы работало))) с какого раза выполнила задание?)
Sherlock04048 уровень, Москва
7 мая, 17:36
раза с 3-4, точно не помню
Haumi17 уровень, Санкт-Петербург
16 апреля, 21:42
Интересная задачка, пришлось поломать голову, как вывести результат. Ничего лучше не придумал, как через второй Лист =)
Maria Gregory15 уровень
22 марта, 23:03
Непонятно почему length вдруг стал методом String, а не свойством.
list.get(0).length; // так не работает
list.get(0).length(); // так работает
Но ведь list.get(0) это объект String. Так что, получается, будучи элементами ArrayList, строки как-то преобразуются в плане их свойств/методов?
Mike Woo26 уровень, Москва
9 марта, 16:13
Достаточно одного цикла for, в котором производится одновременно и добавление строки в список, и вычисление позиции (!) самой длинной/короткой строки.
Viktor 17 уровень
12 марта, 01:03
увидел ваш коммент и пошел оптимизировать))
Demid13 уровень
12 марта, 04:41
"соптимизировал" 20 строк )) используя ваш путь . итого вся программа со всеми строками импорта и отдельными строками закрывающих фигурных скобок 30 строк
Mike Woo26 уровень, Москва
12 марта, 09:28
Отличный результат )
Александр8 уровень
12 марта, 21:35
Оптимизировал по этому способу, но первый вариант, хоть и содержит два цикла, для постороннего программиста читается легче. У каждого подхода свои преимущества.
finetyro15 уровень
28 февраля, 14:38
Будьте осторожны с >= и <= (если используете)
Владлен22 уровень, Санкт-Петербург
1 марта, 13:59
Спасибо) Голову сломал, почему программа работает корректно, но валидацию при этом не проходит...
Ильнур8 уровень, Казань
22 февраля, 21:05
1. Создаем числовую переменную и через цикл for находим самую маленькую по длине символов строку:
int переменная= 999;
            for (int i = 0; i < массив.size(); i++) {
            if (переменная > массив.get(i).length()) {
            переменная = массив.get(i).length();
            }
2. Создаем вторую числовую переменную и через цикл for находим самую большую по длине символов строку тем же способом, но наоборот. 3.1 Создаем цикл for с условием if что если длина нашего массива равна переменной минимума:
if (массив.get(i).length()==переменная)
то выводим строку массива:
(массив.get(i))
Так как, нам нужна только одна строка, добавляем тут же:
break;
3.2 Создаем аналогичный цикл, с переменной максимума.
V1tek028 уровень
23 февраля, 18:22
3.1 и 3.2 наверное нужно объединить, сравнение с максимум по "или"
21 апреля, 13:19
Да и не забываем breakануть второй раз! 2 часа убил(((
Андрей Добродеев10 уровень, Москва
8 мая, 07:20
А что, минимальная строка не может быть короче 999 символов?
katfald20 уровень, Киев
20 февраля, 15:09
Решила с помощью 2 переменных макс и мин, а потом циклом сравнения "или" с оператором прерывания
Roman Afonin31 уровень, Санкт-Петербург
28 февраля, 18:59
аналогично. Только забыл в скобки загнать break )))
Makar17814 уровень
17 февраля, 14:04
Подскажите пожалуйста, как вытащить / получить индекс элемента списка, которому присвоилось значение min или max?
RustiG16 уровень, Москва
20 февраля, 12:59
int index = list.indexOf("слово")
ProgX11 уровень
2 мая, 15:18
А если их два слова? Значит надо вытаскивать опять в цикле и брать самый младший, чет мне не нравится такое решение.
Mark16 уровень
6 февраля, 15:20
две переменные в которые вложил макс и мин, а главное цикл while, который и нашел какая из строк появилась первой и прекратил на этом работу, хорошая задача!!!