Чтобы добиться того, чего вы хотите, что-то подобное будет работать:
String[][] courses = new String[length][];
System.out.println("Follow this model when entering your courses: ENG 105 3 A");
for (int counter = 0; counter < length; counter++){
System.out.println("Course "+(counter+1));
courses[counter] = input.nextLine().split("\\s+");
}
Так как это разделяет курс, он генерирует массив массивов, который выглядит так:
[["ENG","105","A","3"], ["MAT", "102", "A", "4"]]
С другой стороны, если вы хотите остановить ввод, когда пользователь вводит ключевое слово, вам нужно что-то вроде этого:
List<String[]> courses = new ArrayList<String[]>;
System.out.println("Follow this model when entering your courses: ENG 105 3 A");
String course = input.next();
while (!course.equals("end")){
courses.add(course.split("\\s+"));
String course = input.nextLine();
}