Не могу отсортировать массив строк по их длине (сортировка пузырьком)
Для массива из int все работает корректно
public static void main(String[] args) {
String s;
String[] str = new String[]{"this","is","a","test","of","i","string","sort"};
for(int a=1;a<str.length;a++)
for(int b = str.length-1;b>=a;b--)
if(str[b-1].compareTo(str[b])<0){
s=str[b-1];
str[b-1]=str[b];
str[b]=s;
}
for (String i : str) System.out.println(i);
}
Программа выводит: a i is of sort string test this
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
Так
if(str[b-1].compareTo(str[b])<0)
выполняет сравнение строк по умолчанию ("по алфавиту"), а вам нужно по длине
if(str[b-1].length() < str[b].length())