私は、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プログラムの非常に手続き型のコードです。ヘッド・ファースト・ジャワを読んだ後、ヘッド・ファースト・オブジェクト指向分析とデザインを行い、次にクリーン・コードを検討してください。 –
あなたがしようとしているのは、ユーザー入力からデータが入力されたIDを持つ従業員オブジェクトを作成することです。このデータは、会社オブジェクト内に存在する従業員のリストに追加されます。 、および従業員のリスト。これはあなたのやり方ではありません。新しいEmployeeRecordsをループでインスタンス化し、さまざまな場所でそれらを渡すことで、現在作業しているものをハックすることができますが、これは根本的にそのアプローチが間違っています。 –