Ваш массив студентов имеет нулевые значения, которые вы пытаетесь разыменовать. Ошибка не в коде, который вы разместили, а в том, где создается и заполняется массив студентов.
Просто проверьте нулевые значения и напечатайте что-то вроде «студент не найден».
for(i = 0; i < students.length; i++){
Student student = students[i];
if ( student != null ) {
int search = student.getId();
if (search == searchID)
System.out.println(student.toString());
}
}
EDIT:
Я проверил ваш код, он работает, я проверил, добавив
public class StudentTest {
public static void main(String[] args) {
StudentTest s = new StudentTest();
}
public StudentTest() {
students = enterStudents();
retrieveStuId();
}
// your code here ...
Student[] students ;
// .... end
}
Проверьте место, где вы назначаете массив, возвращаемый enterStudents.