Я пытаюсь создать экземпляр класса "PhoneEntry", используя данные, извлеченные из файла .txt. .Split (), кажется, эффективно создает массив (информацию), который содержит три значения из каждой строки в документе (имя, фамилия и номер телефона), но я получаю ошибку выхода за границы при попытке создатьэкземпляр класса "PhoneEntry", использующий формулу array [index] для вызова каждого значения. Мне удалось распечатать все индексы в массиве информации, чтобы они содержали правильные значения, но не удалось создать новый "PhoneEntry" с ними.
Пока у меня есть ...
1) Распечатал все значения, чтобы убедиться, что цикл чтения файлов выполняет свою работу в правильной сборке массива "info"
2) Распечатаны длины информационных массивов. Возвращено пять «3» и «1». Должно быть только 5 массивов, потому что в phonebook.txt есть только 5 строк с содержимым, но, может быть, есть секретный файл '/ n' или что-то еще, если так, как бы я удалил этот символ?
PhoneBook() // constructor for the phone book
{
try {
BufferedReader bufferedReader = new BufferedReader(new FileReader("C:\\Users\\HP\\Desktop\\javaprojects\\phonebook2\\phonebook.txt");
String line;
try {
while ((line = bufferedReader.readLine()) != null) {
String[] info = line.split(" ");
System.out.println(info[0] + " " + info[1] + " "+info[2]);
phoneBook.add(new PhoneEntry(info[0], info[1], info[2]));
}
bufferedReader.close();
} catch (IOException e2){
e2.printStackTrace();
}
} catch (FileNotFoundException e1){
e1.printStackTrace();
}
}
.txt файл:
Ali Katt (312)223-1937
Ima Knob (860)399-3044
Jo King (913)883-2874
Stew Pid (651)698-4631
Ug Lee (815)439-9271
Точное сообщение об ошибке:
java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
at PhoneBook.<init>(PhoneBook.java:16)
at PhoneBookTester.main(PhoneBookTester.java:10)
Строка 16 относится к оператору печати, но все значения фактически распечатаны правильно, включая последнееиндекс (2). До появления оператора print ошибка ссылалась на новый phoneEntry.
Мне нужно, чтобы он фактически создал экземпляр «PhoneEntry», а также добавил его в список массивов «phoneBook»