Мой алгоритм выбора сортировки не работает. Я получаю следующие ошибки: // Исключение в потоке "main" java.lang.NullPointerExceptionПредложения по моему выбору Сортировка/Java
Примечание: это для класса java. У меня нет большого опыта. Я закончил с заданием. Я пытаюсь понять причину, почему мой алгоритм сортировки не работает. Любые предложения по устранению проблемы? Советы? Исправления? ... любая помощь вообще будет оценена по достоинству. Вот мой код:
private void sortFlowers(String flowerPack[]) {
// TODO: Sort the flowers in the pack (No need to display them here) - Use Selection or Insertion sorts
// NOTE: Special care is needed when dealing with strings! research the compareTo() method with strings
for(int i = 0; i < flowerPack.length; i++){
String currentMinFlow = flowerPack[i];
int minIndex = i;
for(int j = i; j < flowerPack.length; j++){
if(currentMinFlow.compareToIgnoreCase(flowerPack[j]) <0){
currentMinFlow = flowerPack[j];
minIndex = j;
}
}
if(minIndex != i){
flowerPack[minIndex] = flowerPack[i];
flowerPack[i] = currentMinFlow;
}
}
}
Исключение:
Exception in thread "main" java.lang.NullPointerException at
java.lang.String$CaseInsensitiveComparator.compare(String.java:1181) at
java.lang.String$CaseInsensitiveComparator.compare(String.java:1174) at
java.lang.String.compareToIgnoreCase(String.java:1227) at
Assignment01Driver.sortFlowers(Assignment01Driver.java:112) at
Assignment01Driver.<init>(Assignment01Driver.java:37) at
Assignment01Driver.main(Assignment01Driver.java:5)
Посмотрите на полную трассировку стека при сбое программы. Он укажет вам на строку с неинициализированной ссылкой. –
Исключение в потоке "основного" java.lang.NullPointerException \t в java.lang.String $ CaseInsensitiveComparator.compare (String.java:1181) \t в java.lang.String $ CaseInsensitiveComparator.compare (String.java:1174) \t на java.lang.String.compareToIgnoreCase (String.java:1227) \t на Assignment01Driver.sortFlowers (Assignment01Driver.java:112) \t в Assignment01Driver. (Assignment01Driver.java:37) \t at Assignment01Driver.main (Assignment01Driver.java:5) –
Это то, что я получаю - я не уверен, что это значит. –