Предложенный список сортируется в алфавитном порядке, учитываются все буквы в словах для этого... Просьба помочь, спасибо!
package com.javarush.task.task08.task0830;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;
/*
Задача по алгоритмам
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String[] array = new String[20];
for (int i = 0; i < array.length; i++) {
array[i] = reader.readLine();
}
sort(array);
for (String word : array) {
System.out.println(word);
}
}
public static void sort(String[] array) {
//напишите тут ваш код
for (int i = 0; i < array.length; i++) {
for (int j = i; j < array.length ; j++) {
try {
String max = array[i];
char aC = array[i].charAt(0);
char bC = array[j].charAt(0);
String a = Character.toString(aC);
String b = Character.toString(bC);
if (!a.equals(b)) {
if (isGreaterThan(a, b)) {
array[i] = array[j];
array[j] = max;
}
} else {
int index = 1;
while(a.equals(b) && index < array[i].length() && index < array[j].length()) {
a = Character.toString(array[i].charAt(index));
b = Character.toString(array[j].charAt(index));
index ++;
}
if (isGreaterThan(a, b)) {
array[i] = array[j];
array[j] = max;
}
}
} catch (NullPointerException exc) {
break;
}
}
}
}
//Метод для сравнения строк: 'а' больше чем 'b'
public static boolean isGreaterThan(String a, String b) {
return a.compareTo(b) > 0;
}
}