Я делаю телефонный справочник с массивами (я должен использовать массивы).Когда я пытаюсь передать строку ввода, которая содержит только фамилию и инициалы (не число) или просто фамилию, я хочу вызвать исключение IllegalArgumentException.Тем не менее, когда я пытался проверить его, вместо этого я получаю ArrayIndexOutOfBoundsException.
Это один из методов addEntry.
@Override
public void addEntry(String line) throws IllegalArgumentException{
int size = entries.length;
String[] newLine = line.split("\\s+");
String surname = newLine[0];
String initials = newLine[1];
String number = newLine[2];
if (surname.length()<1 || initials.length()<1 || number.length()<1){
throw new IllegalArgumentException("Please provide a Surname, Initials and a Number");
}
Entry newEntry = new Entry(surname, initials, number);
Если я пытаюсь передать методу эту запись: arrayDirectory.addEntry("Lara AL");
Я получаю это сообщение об ошибке:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2
, указывая здесь: String number = newLine[2];