package com.javarush.task.task07.task0708;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.time.Year;
import java.util.ArrayList;
import java.util.List;
/*
Самая длинная строка
*/
public class Solution {
private static List<String> strings;
public static void main(String[] args) throws Exception {
strings = new ArrayList<String>();
int maxL = 0, index = 0, lng = 0;
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < 5; i++) { //ввод массива
String str = reader.readLine();
strings.add(str);
}
for (int k = 1; k < 5; k++) { //поиск максимальной длинны строки
if (strings.get(k - 1).length() >= strings.get(k).length()) {
maxL = strings.get(k - 1).length();
}}
for (int i = 0; i < 5; i++) { //проверка на совпадение длинны строки с maxL
lng = strings.get(i).length(); //и если совпало, то вывод строки на экран
if ( lng == maxL) {
System.out.println(strings.get(i));
}}
}
}Андрей
8 уровень
Валидатор ругается на пункт 3 - "Программа должна выводить самую длинную строку на экран."
Архивный
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Антон НикольскийExpert
20 декабря 2017, 08:34
Вы максимум не находите. Этот способ работал бы, если бы более длинная строка продвигалась вперед пузырьком.
0
--------Master
20 декабря 2017, 08:31
Последняя строка тоже может быть самой длинной, да и правильнее сравнивать не соседние строки, а длину одной строки с текущей максимальной длиной.
А в цикле на перебор элементов лучше указывать не конкретное значение 5, а strings.size() - и практичнее, и в некоторых заданиях валидатор это учитывает.
+1
Андрей
20 декабря 2017, 08:57
Спасибо за подсказку и советы. Прошел валидацию
+1