2017-01-05 9 views
1

私はこのプログラムを書こうとしていますが、患者に病院のデータベースに保存する患者の数を入力するように指示しています(ArraySize)。ユーザーは、患者のIDと姓と患者IDを入力する必要があります。姓と名は、条件の重症度に応じて配列に索引付けされます。私の質問は、ユーザーのID入力をID配列全体の一部として保存するにはどうすればよいのですか?患者の情報をどのように索引付けするのですか?どのようにユーザー入力を配列内に保存しますか?

はここで、これまでに私のコードです:

System.out.print("\n > How many patients allowed for day 25-12-2016 : "); 
     int ArraySize = input.nextInt(); 

System.out.print("\n  > Enter patient ID: "); 
       int ID[] = new int[ArraySize]; 

       for (int i = 0; i < ID.length; i++) { 
        ID[i] = input.nextInt(); 
       } 


    System.out.print("\n   > Enter patient First Name: "); 
      String first[] = new String[ArraySize]; 
      for (int i = 0; i < first.length; i++) { 
       first[i] = reader.nextLine(); 
      } 
      System.out.print("\n  > Enter patient last Name: "); 
      String last[] = new String[ArraySize]; 
      for (int i = 0; i < last.length; i++) { 
       last[i] = reader.nextLine(); 
      } 

System.out.print("\n _______________________________________________\n" 
       + "|            |\n" 
       + "|     Case Type     |\n" 
       + "|_______________________________________________|\n" 
       + " \n" 
       + " _______________________________________________\n" 
       + "|      |\n" 
       + "| 1: Enter 1 for Accident Injury    | \n" 
       + "| 2: Enter 2 for Fire Injury     | \n" 
       + "| 3: Enter 3 for Electricity Sho    | \n" 
       + "| 4: Enter 4 for Heart Attack     | \n" 
       + "| 5: Enter 5 for Unconscious     | \n" 
       + "| 6: Enter 6 for Otherwise      | \n" 
       + "|_______________________________________________|\n" 
       + " > Please enter your choice: \n" 
       + " "); 
int choice = input.nextInt(); 

if (int==1) 

{ 
// index patient at 0 

} 
+1

を次のようになぜそれが名前の姓とIDを持っているPatinetオブジェクトを使用しないことを望みますか? – Gatusko

+0

患者のIDを配列のインデックスとして使用することはお勧めしません。むしろIDを患者を識別するための単なる数字として使用してください。同じ重症度の患者が複数いる場合にのみ問題が発生します。 – LostKatana

+0

@Gatuskoのように、オブジェクト指向のように思えます。ユーザーが提供するすべてのデータを持つオブジェクトにします。IDはプログラムによって生成されたシーケンス番号です(通常、シーケンス番号はデータベースによって生成されます)。 – hotzst

答えて

0

は、あなたの記事にコメントに関するいくつかのコードを与えるために。あなたが患者の情報を格納する必要が クラスは、そのように見ることができます:あなたが唯一の配列を使用することを許可されていたよう :

List<Patient> patients = new ArrayList<Patient>(); 
Patient p = new Patient (1, "Name", "Lastname"); 
patients.add(p); 

編集:

public class Patient 
{ 
    private int id; 
    private String name; 
    private String lastname; 

    public Patient (int id, String name, String lastname) 
    { 
    // assign values to variables here 
    } 

    // generate getters and setters 
} 

は、その後、あなたのプログラムの開発に次のようなリストを使用することができますメインでこれを使用してください:

Patient [] patient = new Patient[2]; 

Patient one = new Patient(1, "foo", "bar"); 
Patient two = new Patient(2, "foo2", "bar2"); 

patient[0] = one; 
patient[1] = two; 

for (Patient pat : patient) { 
    System.out.println("Patient " + pat.getId() + ": " + pat.getName() + " " + pat.getLastname()); 
} 

Patientクラスは同じままです。 あなたが入力した後は、患者の重症度だけを分類する必要があります。重症度はPatientクラスに追加することもできます。

1

まあ、誰かがIDで検索したときにオブジェクトを使用することができないならば、あなたはすべて

for (int i = 0; i < ID.length; i++) { 
     System.out.print("\n  > Enter patient ID: "); 
     ID[i] = input.nextInt(); 

     System.out.print("\n   > Enter patient First Name: "); 
     first[i] = reader.nextLine(); 

     System.out.print("\n  > Enter patient last Name: "); 
     last[i] = reader.nextLine(); 
        } 

のための1つを使用して今では唯一、それが保存され、名前とlastNameと同じであるところのインデックスを検索する必要があります。それはあなたの

+0

ユーザがID、名字、姓を入力しなければならない場合はこの作業を行います。 – user7329039

+0

あなたは5人の患者を置くので、それをテストし、それが機能しているかどうかを確認する必要があります。その後、これが5回表示されます。 **入力ID(入力)、名前(入力)、姓(入力)**を入力します。それからあなたのオプションが表示されます!検証がないため、すべての入力を正しく挿入した場合のみです。あなたが '試しとキャッチ'を使うことができるかどうかわからない – Gatusko

0

使用マルチdiamentional配列を助ける場合

int[][] severity = new int[ArraySize][2]; // this array stors ID,severity_code respectively 
for (int i = 0; i < first.length; i++) { 
System.out.print("\n _______________________________________________\n" 
       + "|            |\n" 
       + "|     Case Type     |\n" 
       + "|_______________________________________________|\n" 
       + " \n" 
       + " _______________________________________________\n" 
       + "|      |\n" 
       + "| 1: Enter 1 for Accident Injury    | \n" 
       + "| 2: Enter 2 for Fire Injury     | \n" 
       + "| 3: Enter 3 for Electricity Sho    | \n" 
       + "| 4: Enter 4 for Heart Attack     | \n" 
       + "| 5: Enter 5 for Unconscious     | \n" 
       + "| 6: Enter 6 for Otherwise      | \n" 
       + "|_______________________________________________|\n" 
       + " > Please enter your choice: \n" 
       + " "); 
severity[i][0] = ID[i]; // storing ID 
severity[i][1] = input.nextInt(); // storing severity_code 
} 

// now you have associated the user's ID with his severity_code 
// Then sort severity[][] according to the severity_code which is in the severity[i][1] where 0<=i<=ID.length 
関連する問題