关于java:在循环中创建对象并使用其他对象作为类构造函数
Creating objects in a loop and using other objects as class constructors
我对 Java 很陌生。我必须创建一个模拟员工的程序。该员工有员工编号、名字和姓氏、由街道、城市和state组成的地址,以及由月、年和日组成的雇用日期。这是我的代码:
|
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
import javax.swing.JOptionPane;
public class AssignmentTen Employee[] employee = new Employee[num] input2 = getString ("Enter Employee First Name:"); eNumber = getInt ("Enter Employee Number:"); Name n1 = new Name(input2, input3); Address a1 = new Address (input4, input5, input6, input7); Date d1 = new Date (input8, input9, input10); public static int getInt(String paramString) public static String getString(String paramString) class Employee } class Name Name(String first, String last) class Address Address(String street, String city, String state, int zipCode) class Date Date(int eMonth, int eDay, int eYear) |
如何让 Employee 类使用 Name、Address 和 Date 类作为构造函数来将所有员工信息存储在一个对象中?此外,我的程序中需要有一个单独的 Employee、Name、Address 和 Date 类。另外,如何创建一个 for 循环来创建数量等于 num 整数(从命令行输入)的员工对象,以便每个对象都有自己的名称、日期和地址?
我知道这段代码可能不会编译,我只需要完成它。
Employee 有一个地址、一个姓名和一个雇用日期,因此您必须声明类型为 Address、Name 和 Date 的实例变量。然后您可以编写一个构造函数,将 Address、Name 和 Date 作为构造函数参数并将它们分配给员工的实例变量
|
1
2 3 4 5 6 7 8 9 10 |
Class Employee{
private Name name; private Address address; private Date hireDate; public Employee(Name name,Address address,Date hireDate){ this.name = name; this.address = address; this.hireDate = hireDate; } } |
for 循环
|
1
2 3 4 5 6 7 8 |
Employee[] employees = new Employee[noOfEmployees]
for(int i = 0; i < noOfEmployees; i++){ |
其中 noOfEmployees 是您要创建的员工数量。
并且您可以使用 java\ 的内置日期类 java.util.Date 作为hireDate.
您需要为您的 Employee 类创建一个非默认构造函数,并通过创建匹配的实例变量来允许您的 Name、Address 和 Date 参数与之关联。
(在下面的代码中,您还必须为每个字段创建访问器方法)
|
1
2 3 4 5 6 7 8 9 10 11 12 13 |
class Employee
{ private Name name; private Address address; private Date date; public Employee(Name name, Address address, Date date) |
相关讨论
- "允许我的姓名、地址和日期参数与之相关联是什么意思?"
- @ user2709168 我的意思是,如果您不为 Employee 类定义实例变量,那么您的其他类的实例就存在"外面",并且它们与员工的关系没有被正确封装。