Вот кусок моерешения
int max = list.get(0).length();
int min = list.get(0).length();
int a = 0;
int b = 0
for (int i = 0; i < list.size(); i++)
if(list.get(i).length() > max){
max = list.get(i).length();
a = i;
}
for (int i = 0; i < list.size(); i ++)
if (list.get(i).length() < min){
min = list.get(i).length();
b = list.indexOf(list.get(i));
}
System.out.println(a < b ? list.get(a) : list.get(b));
если сделать так:
// int max = list.get(0).length();
// int min = list.get(0).length();
int a = 0;
int b = 0;
for (int i = 0; i < list.size(); i++)
if(list.get(i).length() > list.get(0).length();){
// max = list.get(i).length();
a = i;
}
// System.out.println(a);
for (int i = 0; i < list.size(); i ++)
if (list.get(i).length() < list.get(0).length();){
// min = list.get(i).length();
b = list.indexOf(list.get(i));
}
System.out.println(a < b ? list.get(a) : list.get(b));
То прорамма работает не правильно. Какая разница между if(list.get(i).length() > list.get(i).length();) и if(list.get(i).length() > max).
первый вариант кода, алгоритм понятен, а второй вообще не пойму откуда вывод берется такой(Строка из середина, среднего размера)