以下のクラスは私のメインクラスです。私のarraylistは "従業員"のタイプであり、arraylistは複数のオブジェクト(多形性)である多くの要素を含んでいます。だから私は、ユーザーがクラス名を入力するとき、私はその特定のクラスの従業員をarraylistからプリントアウトする必要があることを知りたい。例えば、ユーザが「外科医」を入力すると、プログラムは、外科医のすべての従業員をarraylistからプリントアウトできるはずです。助けてください、ありがとうございます。Javaの抽象クラスarraylistから特定のオブジェクトタイプを印刷するには
import java.util.*;
public class HospitalDatabase {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String q;
String w;
ArrayList<Employee> e = new ArrayList<Employee>();
Employee s = new Surgeon("Christian Barnard", 2113211, "Cardiac", "Cardiology",
2000, "Yale University");
Employee i = new ITSupport("Mickey Mouse", 11280, Department.IT, 26, "Mac OS");
Employee n = new Nurse("Florence Nightingale", 54678, "Urgent Care",
"Emergency", false, HospitalWing.North);
Employee p = new PatientAccountsManager("Donald Duck", 32465, Department.PatientSupport,
99, true);
Employee s1 = new Surgeon("Sanjay Gupta", 42171, "Neurosurgery",
"Neurology", 500, "Duke University");
Employee n1 = new Nurse("Mary Breckinridge", 56536, "Gynecology", "Midwife",
true, HospitalWing.West);
e.add(s);
e.add(i);
e.add(n);
e.add(p);
e.add(s1);
e.add(n1);
System.out.println(e.toString());
System.out.println(Employee.numEmployees);
System.out.println("-------------******--------------");
Scanner scan = new Scanner(System.in);
System.out.println("Enter a name: ");
q = scan.nextLine();
boolean j = false;
System.out.println("***************");
for(Employee v: e){
if(v.name.contains(q)){
System.out.println(v.name);
j = true;
}
}
if(j == false){
System.out.println("Name not found");
}
System.out.println("----------------**************---------------");
Scanner f = new Scanner(System.in);
System.out.println("Enter the class of employees: ");
w = f.nextLine();
System.out.println("***************************");
//PLEASE SHOW THE CODE HERE
}
}
問題をコード化しようとしていますか?問題をコーディングしても、実際の問題をコーディングしていないとしても、ここではあまり役に立ちません。 –
オペレータのインスタンス – Kode
を試すこともできます。この問題を解決するために努力していますか。私は、他の人のためのコードを書いているだけではなく、特に答えが本当にそれほど難しくないときは特に興味がありません。 – markspace