我正在編寫一個簡單的程序來列出公司名稱和人員在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();
......所以有什麼問題了嗎?這不是一個問題。調用new會創建單獨的實例。另外,這是一個OOP程序的非常程序化的代碼。考慮閱讀Head First Java,然後是Head First Object Oriented Analysis and Design,然後是Clean Code。 –
我假設你要做的是創建一個僱員對象,他擁有一個id,用戶輸入填充數據,然後將其添加到公司對象中的員工列表中,該公司內部有一個名稱,子公司,以及員工名單。這不是你如何做到的。您可以通過在循環中實例化新的EmployeeRecords並將它們傳遞給各個地方來破解當前您的工作,但這在方法上基本上是錯誤的。 –