Добрый вечер всем. Я работаю над домашним заданием, и, наконец, я почти закончил его. В настоящее время единственной остановкой компиляции является ошибка точки останова в строке 42. Eclipse говорит мне, что переменная «список» неинициализирована, однако я не могу найти, где и почему это происходит.Ошибки точки останова в javaeclipse
Программа предназначена для задания домашней работы в начале java. Он предназначен для импорта списка имен из текстового файла с именем names.txt, а затем для его сортировки в интерфейсе, и пока меню еще не добавлено, я хочу скомпилировать его и убедиться, что он работает до Я снова меняю вещи.
import java.util.*;
import java.io.*;
public class Name {
private String givenName;
private int[] ranks = new int[11];
public static void main(String[] args) {
List<Name> list = new ArrayList<Name>();
loadFile();
System.out.println(list.get(0).getPop(0));
}
private static void loadFile() {
Scanner inputStream = null;
String fileName = "names.txt";
try {
inputStream = new Scanner(new File(fileName));
}
catch (FileNotFoundException e) {
System.out.println("Error opening file named: " + fileName);
System.out.println("Exiting...");
}
while (inputStream.hasNextLine()) {
String line = inputStream.nextLine();
String[] tokens = new String[0];
String givenName = tokens[0];
int[] numList = new int[tokens.length - 1];
for (int i = 1; i < tokens.length; i++) {
numList[i - 1] = Integer.parseInt(tokens[i].trim());
}
list.add(new Name(givenName, numList));
}
}
// here we get the name for the
public Name(String name, int[] popularityRanks) {
givenName = name;
for (int i = 0; i < 11; i++) {
ranks[i] = popularityRanks[i];
}
}
public String getName() {
return givenName;
}
public int getPop(int decade) {
if (decade >= 1 && decade <= 11) {
return ranks[decade];
}
else {
return -1;
}
}
public String getHistoLine(int decade) {
String histoLine = ranks[decade] + ": ";
return histoLine;
}
public String getHistogram() {
String histogram = "";
for (int i = 0; i < 11; i++) {
histogram += ranks[i] + ": " + this.getHistoLine(i) + "\n";
}
return histogram;
}
}
Кроме того, я использовал списки для настройки переменных, но теперь я глубоко сожалел об этом, как я чувствую себя намного более комфортно только с многомерными массивами. Поскольку это домашнее задание связано, я полностью понимаю, если никто не хочет помочь мне исправить эту вторую часть и дать мне код для изменения списков в массивы.
Я сгорел и хочу, чтобы он скомпилировался в этот момент. Любые указатели на то, куда идти отсюда?
Я могу добавить names.txt, если это поможет, но я думаю, что это бесполезно для этого вопроса. –
Можете ли вы добавить сообщение об ошибке и фрагмент файла names.txt. Сразу видно, что код плохо организован. – Clockwork
Names.txt - это список имен с 11 целыми числами для их возможных рангов. A 83 140 228 286 426 612 486 577 836 0 0 Aaliyah 0 0 0 0 0 0 0 0 0 380 215 Аарон 193 208 218 274 279 232 132 36 32 31 41 Abagail 0 0 0 0 0 0 0 0 0 0 958 Аббатство 0 0 0 0 0 0 0 0 537 451 428 –