package com.javarush.task.task07.task0708;
import java.util.ArrayList;
import java.io.*;
/*
Самая длинная строка
*/
public class Solution {
private static ArrayList<String> strings;
public static void main(String[] args) throws Exception {
//напишите тут ваш код
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
strings = new ArrayList<String>();
for(int i=0; i<5; i++) {
String s = reader.readLine();
strings.add(s);
}
String max = strings.get(0);
for(int i=1; i<5; i++) {
if(strings.get(i).length()>max) {
max = strings.get(i).length();
System.out.println(strings.get(i)); }
}
}
}
ak
22 уровень
наибольшее находит, но как вывести несколько мах??
Архивный
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ksenia VolkovaJava Developer в DXCMaster
22 марта 2020, 16:34
Если ты знаешь максимальную длину строки, что мешает вывести все строки, длина которых равна максимальной?
0
ak
22 марта 2020, 16:48
не работает моя программа.. находит строку с максимальным количеством символов, но не выводит ее
0
Ksenia VolkovaJava Developer в DXCMaster
22 марта 2020, 16:58
А что ты делаешь, чтобы ее вывести?
В 28 строке - внутри цикла поиска максимума - что-либо выводить бессмысленно. Ведь пока ты не проверил все строки, ты еще не знаешь, каким максимум окажется.
Сначала нужно найти максимум (т.е. сначала должен отработать цикл, который его находит), а вывод уже потом.
0
ak
22 марта 2020, 17:25
решил чуть по другому:
String max = strings.get(0);
for(int i=0; i<5; i++) {
if (max.length() < strings.get(i).length())
max = strings.get(i);
}
for(int i=0; i<5; i++) {
if (max.length() == strings.get(i).length())
System.out.println(strings.get(i));
}
0
Ksenia VolkovaJava Developer в DXCMaster
22 марта 2020, 17:58
Это и требовалось )
0