Прошу разъяснить, почему не проходит валидацию?
package com.javarush.task.task07.task0718;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Проверка на упорядоченность
*/
public class Solution {
public static void main(String[] args) throws IOException {
//напишите тут ваш код
ArrayList<String>list=new ArrayList<>();
BufferedReader b=new BufferedReader(new InputStreamReader(System.in));
for(int i=0;i<10;i++){
list.add(b.readLine());}
String str = list.get(0);
int max = str.length();
for(int i=1;i<list.size();i++)
{if(list.get(i).length() < max)
{str = list.get(i); break; }
}
if(list.indexOf(str) !=-1) System.out.println(list.indexOf(str));
}
}
В условии требуют "Если список упорядочен по возрастанию длины строки, то ничего выводить не нужно". А метод выводит 0. И последнее, нижнее, условие тоже не выполняется - метод просто всегда выводит 0.
На мой взгляд самое простое решение этой задачи такое. Пройтись циклом по списку и каждый раз сравнивать длину текущей строки со следующей в списке. Если возрастает, то следующая должна быть больше на каждом шаге. А если следующая оказалась меньше, то вот оно место, где нарушилась упорядоченность.