2013-07-28 2 views
0

Я понятия не имею, что случилось с тем, что я делаю. Он должен печатать всех пациентов, которые посетили конкретную дату, но он продолжает бросать ошибку нулевого указателя. Это происходит, когда я вызываю метод printPatientsOnDate.Ошибка Null Pointer при вызове метода

код на основной класс/UI

public void printPatientsOnDate() throws ParseException 
{ 
    System.out.print("Enter the date(mm-dd-yyyy): "); 
    Date dt = new SimpleDateFormat("MM-dd-yyyy").parse(sc.nextLine()); 
    for(Patient i : app.getPatientsOnSpecDate(dt)) 
    { 
    System.out.println(i.getName()); 
    } 
} 

кода на классе клиники

public ArrayList<Patient> getPatientsOnSpecDate(Date date) 
{ 
    ArrayList<Patient> patients = null; 
    for(Patient i : patientList) 
    { 
     if(i.searchDates(date)!=null) 
     { 
     patients.add(i); 
     } 
    } 
    return patients; 
} 

пустой указатель код ошибки

Exception in thread "main" java.lang.NullPointerException 
at pkg.Pagamutan.Clinic.UI.printPatientsOnDate(UI.java:81) 

ответ

1

Ваш ArrayList<Patient> patients переменная находится null. В настоящее время он не указывает на какой-либо объект ArrayList<Patient>.

ArrayList<Patient> patients = null; 

И когда вы пытаетесь вызвать .add() на этой null ссылки оно проливает NullPointerException.

Брошено, когда приложение пытается использовать null в случае, когда требуется объект.

К ним относятся:

Вызов метода экземпляра пустого объекта. .............

Вам нужно создать экземпляр объекта ArrayList<Patient> перед вызовом .add() на него.

ArrayList<Patient> patients = new ArrayList<Patient>(); 

Или лучше использовать List<Patient> в качестве ссылочного типа:

List<Patient> patients = new ArrayList<Patient>(); 
+0

Большое спасибо! ошибка не появляется, но у меня есть другая проблема. printPatientsOnDate не выдает никаких пациентов при вызове. что-то не так с каждым циклом? – ZeroStream

+0

Покажите нам действующий код, возможно, открыть новый вопрос с этим кодом. Мы не можем отлаживать только двумя случайными методами! – NINCOMPOOP

+0

извините за это. здесь находится код запуска http://textuploader.com/?p=6&id=HTDi – ZeroStream

Смежные вопросы