Я пытаюсь создать телефонный справочник, используя массивы (я должен использовать массивы). Я пытаюсь написать метод для добавления новых записей. Я решил добавить новую запись со строкой, которая будет разбита с помощью метода split
на три части (фамилия, инициалы, номер) с вкладками. Когда я попытался провести тестирование метода, мне бросили IndexOutOfBoundsException
.
Это addEntry
метод
@Override
public void addEntry(String line) {
String[] entryLine = line.split("\\t");
String surname = entryLine[0];
String initial = entryLine[1];
String number = entryLine[2];
Entry entry = new Entry(surname, initial, number);
count++;
if (surname == null || initial == null || number == null) {
throw new IllegalArgumentException("Please fill all the required fields, [surname,initials,number]");
}
if (count == entries.length) {
Entry[] tempEntries = new Entry[2 * count];
System.arraycopy(entries, 0, tempEntries, 0, count);
entries = tempEntries;
} else {
int size = entries.length;
for (int i = 0; i < size - 1; i++) {
for (int j = i + 1; j < entries.length; j++) {
String one = entry.getSurname();
if (one.toLowerCase().compareTo(surname.toLowerCase()) > 0) {
Entry tempE = entries[i];
entries[i] = entries[j];
entries[j] = tempE;
}
}
}
}
}
Это запись, которую я пытался добавить:
arrayDirectory.addEntry("Smith SK 005598");