Так вот вопрос:Как исправить NullPointerException в моем коде
Ваша программа должна иметь возможность считывать данные из файла вышеуказанных данных в массив и отсортировать массив по имени студента в восходящем заказ. Алгоритм выбора сортировки настоятельно рекомендуется для массива объектов. А также записывающее отделение хотело бы иметь отсортированный список классов для каждого класса, первокурсника, второкурсника, младшего и старшего.
Распечатайте следующее:
- Отсортированное мастер список со средним ГПД всего колледжа.
- Список первокурсников со средним показателем первоклассника.
- Список второкурсников со средним показателем степени риска для второкурсников.
- Юниорский список со средним уровнем баллов по возрасту среди юниоров.
- Старший список со средним уровнем баллов по возрасту пожилых людей.
До сих пор я не смог получить свой список для сортировки. Каждый раз, когда я пытаюсь скомпилировать, это дает мне исключение:
Exception in thread "main" java.lang.NullPointerException
at Project1.main(Project1.java:33)
Вот мой код:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
public class Project1 {
public static void main(String[] args) throws IOException {
BufferedReader reader =
new BufferedReader(new FileReader("/Users/Ayesha/Desktop/inputfile.txt"));
ArrayList<String> list = new ArrayList<>();
String data[] = new String[25];
while (true) {
String line = reader.readLine();
for (int i = 0; i < 24; i++) {
data[i] = line;
}
if (line == null) {
break;
}
System.out.println(line);
list.add(line);
}
// String data[]=list.toArray(new String[25]);
reader.close();
for (int i = 0; i < data.length - 1; ++i) {
int minIndex = i;
for (int j = i + 1; j < data.length; ++j) {
if (data[j].compareTo(data[minIndex]) < 0) {
minIndex = j;
}
}
String temp = data[i];
data[i] = data[minIndex];
data[minIndex] = temp;
}
System.out.println(data);
}
}
Вот исходный файл:
NAME CLASS GPA Williams, Leonard Freshman 1.85 Smith, Sheila Senior 2.99 Anderson, Andy Sophomore 3.01 Wiser, Bud Freshman 4.00 Robertson, Jully Junior 2,78 Koran, Korn Junior 3.50 Smith, Sam Junior 2.14 Johnson, Jim Junior 3.05 Johnson, Jane Junior 3.75 Potter, Pam Senior 2.98 Brown, Bill Sophomore 2.55 Crooks, Cathy Freshman 1.99 Gregg, Howard Senior 2.44 Nicholas, Judy Senior 3.69 White, Bob Sophomore 1.64 Walsh, Fred Junior 4.00 Dennis, Susan Senior 2.06 Roberts, Rachel Sophomore 4.00 Fredericks, Mary Freshman 2.89 Holmes, Wendy Senior 2.56 Edwards, James Sophomore 3.00 Green, Barbara Sophomore 3.67 Brown, David Freshman 2.00 Williamson, Walt Sophomore 2.95 Carson, Jim Sophomore 2.03
Сомневаюсь, что вы получаете исключение во время компиляции - вы имели в виду исполнение? Какое исключение? Не могли бы вы разместить stacktrace? – Kenney
Не могли бы вы предоставить образцы вашего входного файла? –
Можете ли вы изменить свой вопрос и включить точное исключение, которое вы получаете? Поскольку вы говорите «когда я пытаюсь скомпилировать», компилятор дает вам ошибку или вы действительно получаете исключение во время выполнения? – bgse