package com.javarush.test.level07.lesson06.task02;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
/* Самая длинная строка
1. Создай список строк.
2. Считай с клавиатуры 5 строк и добавь в список.
3. Используя цикл, найди самую длинную строку в списке.
4. Выведи найденную строку на экран.
5. Если таких строк несколько, выведи каждую с новой строки.
*/
public class Solution
{
public static void main(String[] args) throws Exception
{
ArrayList l1 = new ArrayList ();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < 5; i++)
{
l1.add(reader.readLine());
}
for (int i = 1; i < l1.size();)
{
String a = l1.get(i-1);
String b = l1.get(i);
if (a.length() > b.length()) l1.remove(i);
else if (a.length() < b.length()) l1.remove(i-1);
else i++;
}
for (int i = 0; i < l1.size(); i++)
{
System.out.println(l1.get(i));
}
}
}Арсен
15 уровень
Помогите
Архивный
Комментарии (9)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Vladislav Ivanov
24 мая 2018, 13:22
1) у тебя ArrayList хранит тип Object. Нужно указать в дженериках нужный тип String
2) Что происходит с 22 по 29 строчку вообще не понятно. Просто забивай в int длинну строки, если она больше чем 0, или текущая длинна. Перебери циклом второй раз, и везде где будет совпадение int с длинной строки, выводи на экран.
+2
Roman Java Developer Expert
24 мая 2018, 07:26
Во первых у тебя неправильный package. Это старый:
Новый в этой задаче:
Во-вторых: какую ошибку выдает?
0
Арсен
24 мая 2018, 11:10
вот ошибка
com/javarush/task/task07/task0708/Solution.java:24: error: cannot find symbol
String a = l.get;
^
symbol: variable get
location: variable l of type java.util.ArrayList
com/javarush/task/task07/task0708/Solution.java:25: error: cannot find symbol
String b = l.get;
^
symbol: variable get
location: variable l of type java.util.ArrayList
Note: com/javarush/task/task07/task0708/Solution.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
0
Roman Java Developer Expert
24 мая 2018, 11:26
Судя по ошибке, она возникает не в том коде, который ты выложил. Выложи тот код, в котором возникает ошибка, либо выложи ошибку, которая возникает в приложенном коде.
0
Арсен
24 мая 2018, 12:13
вот что мне выдает
com/javarush/task/task07/task0708/Solution.java:24: error: incompatible types: java.lang.Object cannot be converted to java.lang.String
String a = l1.get(i-1);
^
com/javarush/task/task07/task0708/Solution.java:25: error: incompatible types: java.lang.Object cannot be converted to java.lang.String
String b = l1.get(i);
^
Note: com/javarush/task/task07/task0708/Solution.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
0
Roman Java Developer Expert
24 мая 2018, 12:34
Ты не понимаешь, что означает данная ошибка?
Какой тип хранит твой список? А какой тип ты пытаешься из него достать?
0
Арсен
24 мая 2018, 19:42
ясно понятно сори я тупой спасибо большое
0
Ярослав Java Developer Master
23 мая 2018, 22:02
Запусти свой код с разными строчками и посмотри результаты его работы. Если все будет правильно - отпишись снова. Но вводи разные варианты и минимум 6 разных вводов чтобы было, у тебя там точно есть ошибка, но мне лень сейчас тестировать самому.
0
Александр
23 мая 2018, 22:01
Я сделал 3 цикла: 1) цикл ввода 5 строк
2 цикл - находит максимальную строку (int max = 0;)
3 цикл - перебор массива и если строка совпадает с максимальной (==) выводит её
+2