Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中打印抽象类arraylist中的特定对象类型_Java_Arraylist_Netbeans_Polymorphism - Fatal编程技术网

如何在java中打印抽象类arraylist中的特定对象类型

如何在java中打印抽象类arraylist中的特定对象类型,java,arraylist,netbeans,polymorphism,Java,Arraylist,Netbeans,Polymorphism,下面的班级是我的主课。我的arraylist是“Employee”类型,该arraylist包含许多具有多个对象的元素(多态性)。所以我想知道,当用户输入类名时,我应该从arraylist打印出该特定类的雇员。例如,当用户键入“外科医生”时,程序应该能够从arraylist打印出所有外科医生员工的姓名。请帮忙,提前谢谢 import java.util.*; public class HospitalDatabase { /** * @param args the co

下面的班级是我的主课。我的arraylist是“Employee”类型,该arraylist包含许多具有多个对象的元素(多态性)。所以我想知道,当用户输入类名时,我应该从arraylist打印出该特定类的雇员。例如,当用户键入“外科医生”时,程序应该能够从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
    } 
}
import java.util.*;
公立医院数据库{
/**
*@param指定命令行参数
*/
公共静态void main(字符串[]args){
串q;
字符串w;
ArrayList e=新的ArrayList();
员工s=新外科医生(“克里斯蒂安·巴纳德”,2113211,“心脏病”,“心脏病学”,
2000年,“耶鲁大学”);
员工i=新的IT支持(“米老鼠”,11280,Department.IT,26,“Mac OS”);
员工n=新护士(“佛罗伦萨南丁格尔”,54678,“紧急护理”,
“紧急情况”,假,医院翼(北);
员工p=新的PatientCountsManager(“唐老鸭”,32465,科室。PatientSupport,
99(对);
员工s1=新外科医生(“Sanjay Gupta”,42171,“神经外科”,
“神经病学”,500页,杜克大学);
员工n1=新护士(“玛丽·布莱金里奇”,56536,“妇科”,“助产士”,
是的,医院翼(西);
e、 添加(s);
e、 加(i);
e、 添加(n);
e、 加(p);
e、 添加(s1);
e、 添加(n1);
System.out.println(例如toString());
System.out.println(Employee.numememployees);
System.out.println(“--------------------******--------------”;
扫描仪扫描=新扫描仪(System.in);
System.out.println(“输入名称:”);
q=scan.nextLine();
布尔j=假;
System.out.println(“*******************”);
对于(员工v:e){
如果(v.name.contains(q)){
System.out.println(v.name);
j=真;
}
} 
如果(j==false){
System.out.println(“未找到名称”);
}  
System.out.println(“--------------------******************----------------”;
扫描器f=新扫描器(System.in);
System.out.println(“输入员工类别:”);
w=f.nextLine();
System.out.println(“*******************************”);
//请在这里显示代码
} 
}
您可以使用来执行此操作。 例如:

String className1 = e.getClass().getSimpleName();
String className2 = e.getClass().getName();
String className3 = e.getClass().getCanonicalName();

选择一个最适合您的文章。

您是否要尝试编写您的问题代码?对问题进行编码,但对实际问题不进行编码在这里对您没有多大帮助。您可以尝试operatorI实例,也希望看到您努力解决此问题。我对直接为他人编写代码不感兴趣,尤其是当答案真的不是那么难的时候。我试图提高投票率,但我需要有很高的声誉。请单击投票按钮下的“接受”。就像文章中说的:如果答案对你有帮助,你为什么不接受呢?不明白。