-1

我有一个名为 Employee 的类。我正在尝试使用带有参数变量的 for 循环来显示每个员工(有 3 个)的信息,而不必分别为每个员工写出显示。

我想将“setName”变量用于方法调用的“employee1”部分。这可能吗?

            // Create the first employee using non-argument constructor
            Employee employee1 = new Employee();

            employee1.setName("Susan Meyers");          // Set the name
            employee1.setDepartment("Accounting");      // Set department
            employee1.setPosition("Vice President");    // Set position
            employee1.setID(47899);                     // Set ID Number


            // Create the second employee using all argument constructor
            Employee employee2 = new Employee("Mark Jones", "IT", "Programmer", 39119);


            // Create employee three using two-argument constructor
            Employee employee3 = new Employee("Joy Rogers", 81774);

            employee3.setDepartment("Manufacturing");   // Set department
            employee3.setPosition("Engineer");          // Set position


            // Display the data for employees 1, 2, 3 using for loop
            for(int e = 1; e <= 3; e++) {

                Integer.toString(e);
                String setName = "employee" + "e";


                System.out.println("Name: " + employee1.getName());
            }
4

3 回答 3

0

只需创建一个员工列表,将employee1 employee2 和employee 放入其中,然后循环遍历列表。

 List<Employee> employees = new ArrayList<Employee>();
employees.add(employee1);
employees.add(employee2);
employees.add(employee3);

你的循环

for(Employee employee: employees){
System.out.println(employee);
}

您还可以在您的员工类中添加一个 toString 方法,以使您自己轻松工作

public class Employee
....
....

getter/setter

@Override
public String toString() {
    return "Employee ID: " + id + "\nName: " + name + "\nDept: " + department + "\nPosition: " + position;
}
于 2013-03-10T20:02:32.323 回答
0

toString()在您的班级内部实施Employee并放置您想要从中打印的所有相关信息。

@Override
public String toString() {
    return "Employee ID: " + id + "\nName: " + name + "\nDept: " + department + "\nPosition: " + position;
}

然后,您可以在正常System.out.println呼叫中打印它。

System.out.println(employee1);
于 2013-03-10T20:02:37.393 回答
0

这个呢?:这将创建 3 个员工,员工 1、2 和 3。

          for(int e = 1; e <= 3; e++) {                  
               Employee newEmployee = new Employee();
                newemployee.SetName("employee" + e);    
                System.out.println("Name: " + newEmployee.getName());
            }

当然,一旦您尝试访问它们,它们就会内存不足,因此您可以将它们存储在列表中:

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

  for(int e = 1; e <= 3; e++) {                  
      Employee newEmployee = new Employee();
      newemployee.SetName("employee" + e);    
      ListOfEmployees.Add(newEmployee); 
       System.out.println("Name: " + newEmployee.getName());
     }

之后,您可以像这样访问特定员工:

ListOfEmployees[1].SetName("some name"); //this is the first employee that was added to the list in the for-loop above here
ListOfEmployees[1].GetName(); // returns "some name"
于 2013-03-10T20:04:59.623 回答