0

I'm running a for loop, and it is accepting 6 patients, when it should only be accepting 5. I don't know why.

Patient class:

public Patient(final String ptNo, final String ptName,
        final String procDate, final int procType, final String injury,
        final String drName) throws IOException
{
    Patient.ptNo = getPtNo();
    Patient.ptName = getPtName();
    Patient.procDate = getProcDate();
    Patient.procType = getProcType();
    Patient.injury = getPtNotes();
    Patient.drName = getDrName();
}

edit I realise I don;t need getNewPt

public static Patient getNewPt(String ptNo, String ptName,
        String procDate, int procType, String 
        injury, String drName) throws IOException
{
    Patient newPt = new Patient (ptNo,
            ptName, procDate, procType, injury, drName);

    return newPt;
}

Patient Management class:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class PatientManagementSystem
{
    static BufferedReader stdin = new BufferedReader(new InputStreamReader(
            System.in));

    public static void main(String[] args) throws IOException
    {

        Patient.getNewPt(null, null, null, 0, null, null);
        // creating an array of 5 patients
        Patient patients[] = new Patient[5];

        int i = 0;

        for (i = 0; i < 5; i++)
        {
            patients[i] = Patient.getNewPt(null, null, null, i, null, null);

        }
        Patient.getOption();
    }
}

It's not from calling Patient.getOption();. Any ideas?

1 Answers1

6

You're calling Patient.getNewPt 6 times.

Once outside the loop and then 5 times inside the loop.

Dancrumb
  • 26,597
  • 10
  • 74
  • 130