gpt4 book ai didi

java - 动态创建对象。回归本源

转载 作者:行者123 更新时间:2023-12-01 17:34:08 26 4
gpt4 key购买 nike

我正在编写一个简单的程序,用 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com