2016-11-09 3 views
1

Я новичок в Java, и я пытаюсь написать код, который сканирует имена некоторых пациентов, также попросите их ввести (y/n), если они являются аллергическимиToGluten, а затем я распечатываю список имен все пациенты, страдающие аллергиейToGluten. Я просто научился массивам, но я все еще пытаюсь присвоить множество значений (name + y/n) массиву. Мне нужна ваша помощь.Выделить более одного значения массиву?

Большое спасибо: D

+2

Пожалуйста, покажите код. – Thilo

+1

рассмотрим наличие массива объектов. Этот объект будет иметь класс, который вы разработали и закодировали. –

ответ

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

Вам нужно создать класс, который представляет своего пациента. И тогда вы можете иметь множество пациентов

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]; 

Если вы не знаете, patientCount тогда вам нужно resizable-array.

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()); 
} 
Смежные вопросы