对象的动态命名

时间:2016-02-02 07:57:37

标签: java class object

我正在为一个班级做一个项目,我需要创建一个程序,你可以输入"员工数据"例如姓名,员工编号,部门和职位,然后让程序将该信息读回给您。

所有这些都是通过控制台完成的,为名称提供输入。

Catch是我不知道他们将在我的计划中投入多少员工。我需要一种方法来动态创建我的"员工"上课并命名。

有没有人有任何建议。不幸的是,我没有任何代码可以写,因为我不知道从哪里开始。我已经使用可以设置每个参数的方法创建了我的员工类,但同样,问题是首先从控制台创建类。

3 个答案:

答案 0 :(得分:2)

您不需要动态命名对象(实际上,您可能根本不需要对对象的引用)。只需将创建的对象存储在集合中即可。

答案 1 :(得分:1)

您可以使用ArrayList,检查实现:

声明并初始化变量:

ArrayList<Employee> empArray = new ArrayList<Employee>();

将员工添加到阵列:

empArray.add(aEmployee);

从数组中回复员工:

empArray.get(0);

这里有更多文档: https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html

答案 2 :(得分:0)

  • 使用名称,部门,职位等领域创建员工对象。
  • 然后创建这些对象的HashSet或ArrayList
  • 然后编写读入输入的代码
  • 读取每个完整的员工后,使用输入
  • 创建员工对象
  • 将员工对象添加到列表或集。

当读入所有员工数据时,循环遍历列表或设置并打印出员工对象。

编辑:在此处回复您的评论,因为评论无法格式化:

你能设置一个字符串ListArray吗?它是这样的:

List<String> myList=new ArrayList<String>();

就像那样,你创建了一个员工对象的ListArray:

List<Employee> employeeList=new ArrayList<Employee>();

您创建一次List,然后为每个员工创建Employee对象。使用新的Employee()创建一个新的Employee对象。假设您已经使用getter和setter编写了Employee对象的代码,它的内容如下:

Employee employee;

// ... in a loop, reading all the input data..
employee = new Employee();
employee.setName("Reggie");
employeeList.add(employee);
//... end your loop here....

创建并添加所有员工后,只需使用for循环遍历列表:

for(Employee emp:employeeList) {
    System.out.println(emp.getName());
}