我正在编写一个简单的程序,用 JAVA 列出公司和员工的名称。
我想动态创建对象。下面是代码
public class EmployeeRecord {
/**
* @param args
*/
String company, name;
int employee;
public String input;
public static BufferedReader br;
public int iE;
public static String numberOfCompanies;
String nameOfCompany;*/
public void company(String input) {
// TODO Auto-generated method stub
nameOfCompany = input;
}
public void employee(String employeeNumber) {
// TODO Auto-generated method stub
iE = Integer.parseInt(employeeNumber);
}*/
public static void main(String[] args) {
// TODO Auto-generated method stub
EmployeeRecord qw = new EmployeeRecord ();
try {
br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter number of companies: ");
numberOfCompanies = br.readLine();
int G = Integer.parseInt(numberOfCompanies);
for (int i = 1; i <= G; i++) {
System.out.println("Enter name of the company: ");
String company = br.readLine();
qw.company(company);
System.out.println("Enter Number of employees: ");
String employeeNumber = br.readLine();
qw.employee(employeeNumber);
}
for (int i = 1; i <= G; i++) {
qw.sortCompanySummary();
}
} catch (IOException io) {
io.printStackTrace();
}
}
public void companySummary() {
System.out.println("Number of companies: " + numberOfCompanies);
System.out.println("Name of company: "+nameOfCompany);
System.out.println("Number of employees: "+iE);
}
}
我想要在这里做的是动态创建 EmployeeRecord 类的单独实例。例如
EmployeeRecord qw = new EmployeeRecord();
EmployeeRecord we = new EmployeeRecord();
最佳答案
首先,您需要将目标代码与控制代码分开。
其次,您需要某种集合或数组来保存对象。
以下是您的代码的外观:
public class UI{ // <---- this class will control the flow of your program
public static void main(String[] args){
private List<Company> company; // <---- this Collection object holds many Company objects
...
for(int i=0;i<company.size();i++){
Company c = new Company();
c.setName(br.readLine());
List<Employee> employee = new ArrayList<Employee>();
...
for(int j=0;j<employee.size();j++){
Employee e = new Employee();
e.setName(br.readLine());
...
employee.add(e);
}
c.setEmployee(employee);
company.add(c);
}
}
}
public class Company{ // <---- this class will represent the companies
private List<Employee> employee;
private String name;
public void setEmployee(List<Employee> employee){
this.employee = employee;
}
....
}
public class Employee{ // <----- this class will represent the employees
private String name;
private int empNo;
public int getEmpNo(){
return empNo;
}
...
}
关于java - 动态创建对象。回归本源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8118499/