下面的班级是我的主要班级。我的arraylist是“Employee”类型,并且该arraylist包含多个对象的许多元素(多态性)。所以我想知道,当用户输入一个类名时,我应该从ArrayList中打印出那个特定类的employees。例如,当用户输入“Surgeon”时,程序应该能够从ArrayList中打印出所有Surgeon雇员的。请帮忙,提前谢谢。
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
}
}
您可以使用反射API来完成此操作。例如:
String className1 = e.getClass().getSimpleName();
String className2 = e.getClass().getName();
String className3 = e.getClass().getCanonicalName();
选择一个最适合你的考虑这篇文章。
我需要做一个方法,可以添加这些数据类型到一个arraylist内的cart类。但如果我写 它只会接收推车类型的数据,所以我不能输入食物或饮料,或Miscs类型的数据,甚至有相同的细节,如名称和价格。
我通过学校为一项任务提供的简报创建了一个飞机座位预订系统。我遇到了一个我无法解决的主要问题。 摘要说明抽象类必须有一个抽象方法和大约4个公共方法。在抽象类的两个子类中,我们都必须初始化对象数组(所有普通的座位)。然而,一旦它们被初始化,我不知道如何将它们发送回抽象类(该类有一个检查未预订的飞机座位的方法,这就是我需要初始化的座位对象的地方) ArrayIndexOutOfBounds在一个应该在边
问题内容: 如何从ArrayList中删除特定对象?假设我有一个如下课程: 我该如何从我的物品中删除物品 问题答案: 根据该方法删除对象。因此,您应该正确实现此方法。就像是: 要么
是否有任何JAXB绑定可以告诉JAXB代码生成器将Java类生成为,而不必在XSD中将相应的XML类型标记为? 情况如下: > 我在xsd中定义架构: 我使用内联JAXB绑定(“inline”==“直接在模式中”)来指示应该生成JAXB类的包(): 我使用内联JAXB绑定为我的每个复杂类型(在本例中、和)指示实现类的名称: 我从模式生成JAXB类。这导致: 我自己编写类: 使用这两个类层次结构这样
我试图根据用户输入找到一个特定的对象。用户需要输入姓名和性别,然后程序应该搜索ArrayList,查看是否有匹配的姓名和性别。ArrayList中的对象有3个实例变量,但程序只搜索2个。如何在ArrayList中只搜索选定的几个特征? 在我的项目中,我有: 其中,nameList是ArrayList的名称,getName()是返回存储在对象中的名称的方法的名称,getGender()是返回存储在对
我已经创建了几个对象,我想在ArrayList中只打印对象的一个参数: 我要打印: