我正在尝试编写一个非常基本的java程序,该程序将允许用户输入有关某些员工的信息。我想到的是一个for循环,它将创建一个单独的Employee对象(已定义的Employee类),然后在整个循环运行后将每个对象保留在内存中。像这样:
String input = JOptionPane.showInputDialog("How many Employees are we "
+ "entering into the system?");
int numEmployees = Integer.parseInt(input);
for (int count = 1; count <= numEmployees; count ++)
{
Employee employee(count) = new Employee();
}
我知道这段代码不起作用;但我希望它清楚地说明我要做的是:循环的每次迭代都会创建一个新对象(employee1,employee2 .... employeeN),然后会有一些代码允许用户输入所需的数据。我已经拥有了所有必要的访问器和mutator方法。循环完成运行后,对象将保留在内存中。 有任何想法吗?谢谢大家!
答案 0 :(得分:1)
听起来你想要使用数组
Employee[] employees = new Employee[numEmployees];
for(int i = 0; i < numEmployees; i++)
employees[i] = new Employee();
答案 1 :(得分:0)
尝试将其存储在某个集合中。
List<Employee> employeList = new ArrayList<Employee>();
for (int count = 1; count <= numEmployees; count ++)
{
employeList.add(new Employee());
}
或只是在数组中。
Employee[] employeList = new Employee[numEmployees];
for (int count = 1; count <= numEmployees; count ++)
{
employeList[i]=new Employee();
}
答案 2 :(得分:0)
您似乎正在尝试创建变量变量名称,这在Java中是不可能的。相反,您应该将您的员工存储在一个数组中。
Employee[] employees = new Employee[numEmployees];
要将员工添加到阵列,您可以执行此操作
employees[count] = new Employee();
答案 3 :(得分:0)
您可以使用数组(在这种情况下很好,因为您已经知道您将拥有多少员工)或ArrayList(动态大小,如果您不知道它将包含多少元素,则会更好)。
Employee[] employees = new Employee[numEmployees];
然后你应该做的每个周期
for (int count = 0; count < numEmployees; count ++)
{
employees[count] = new Employee();
}
创建新员工并存储它。无论如何,我编辑了你代码的一些部分。
count = 1
将为count = 0
因为数组从0开始
count <= numEmployees
将为count < numEmployees
从0开始,<=
将转到numEmployees
,数组大小为numEmployees-1
,这意味着数组的“越界”。
答案 4 :(得分:0)
您可以使用java.util.ArrayList来存储Employee对象。您的代码可能如下所示:
package EmployeeStuff;
import java.util.ArrayList;
// rest of the class code
ArrayList<Employee> emps = new ArrayList<Employee>();
String input = JOptionPane.showInputDialog("How many Employees are we "
+ "entering into the system?");
int numEmployees = Integer.parseInt(input);
for (int count = 1; count <= numEmployees; count ++)
{
emps.add(new Employee()); // add an employee object to the ArrayList
}
:d
答案 5 :(得分:0)
我认为这就是你要达到的目标。创建一个空的Employees数组,然后在循环内依次分配。你可以在另一个答案中选择一个ArrayList。
String input = JOptionPane.showInputDialog("How many Employees?");
int numEmployees = Integer.parseInt(input);
Employee[] employess = new Employee[numEmployees];
for (int count = 0; count < numEmployees; count ++)
{
employees[count] = new Employee();
}
答案 6 :(得分:0)
import java.util.*;
public class EmployeeService
{
public static List<Employee> createEmployees(int numberOfEmployees)
{
List<Employee> employees = new ArrayList<Employee>();
for(int i=0; i<numberOfEmployees;i++)
{
Employee e = newEmployee();
// gather required employee information
employees.add(e);
}
return employees;
}
/**
* Create an in-memory employee object.
*
* @return in-memory employee object
**/
public static Employee newEmployee()
{
return new Employee();
}
}
class Employee
{
}