我是Java的新手,我正在尝试编写一个扫描某些患者的代码'名字,也要求他们输入(y / n),如果他们是allergicToGluten,然后我打印出所有过敏性患者的名单.ToGluten。我刚刚学习了数组,但我仍在努力为数组分配许多值(名称+ y / n)。我需要你的帮助。
非常感谢你:D
答案 0 :(得分: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());
}
答案 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