2016-11-09 15 views
1

私はJavaに慣れていないし、いくつかの患者の名前をスキャンするコードを書こうとしている。また、それらがallergicToGlutenであれば(y/n)を入力してから、すべてのアレルギー患者にグルテン。私はちょうど配列を学んだが、私は配列に多くの値(名前+ y/n)を割り当てるのに苦労している。あなたの助けが必要です。複数の値を配列に割り当てますか?

はどうもありがとうございました:D

+2

のリストを印刷することができます。 – Thilo

+1

オブジェクトの配列を持つことを検討してください。これらのObjectは、設計してコード化したクラスのものです。 –

答えて

2

は、アレイに複数の値を割り当てるための方法はありませんが、あなたはそれで複数のフィールドを持ついくつかのクラスの配列を作ることができます。例えば、出力

public class Patient { 
    public String name; 
    public boolean isAllergic; 
    public Patient(String name, boolean isAllergic) { 
     this.name = name; 
     this.isAllergic = isAllergic; 
    } 
} 
public class Patient_Driver { 
    public static void main(String[] args) { 
     Patient[] patients = new Patient[] { 
     new Patient("Steve", true), 
     new Patient("Mary", false) 
     }; 
     for (int i = 0; i < patients.length; i++) { 
     if (patients[i].isAllergic) { 
      System.out.println(patients[i].name); 
     } 
     } 
    } 
} 

Steve 
4

はあなたの患者を表すクラスを作成する必要があります。あなたがresizable-arrayを必要とし、その後patientCountがわからない場合は、その後、あなたは患者

public class Patient{ 
    private String name; 
    private boolean allergicToGluten; 

    public Patient(String name, boolean allergicToGluten){ 
     this.name = name; 
     this.allergicToGluten = allergicToGluten; 
    } 

    public boolean isAllergicToGluten(){ 
     return allergicToGluten; 
    } 

    public String getName(){ 
     return name; 
    } 
} 

---- 

Patient[] patients = new Patient[patientCount]; 

の配列を持つことができます。

ArrayList<Patient> patients = new ArrayList<Patient>(); 
// ... reading 'name' and 'isAllergic' from input 
patients.add(new Patient(name, isAllergic)); 

そして、あなたはいくつかのコードを表示してくださいアレルギー患者

for(p : patients){ 
    if (p.isAllergicToGluten()) 
     System.out.println(p.getName()); 
} 
関連する問題