[英]Creating this constructor class with parameters
我是JAVA的新手,我為這個不清楚的問題而苦苦掙扎。 我在禮貌地問是否有人可以與我討論或教我如何回答? 謝謝。
題:
Company類包含一個雇員數組,其構造函數將4個長度相同的數組作為參數。 第一個數組是String數組,它是員工的姓名; 第二個數組是一個字符串數組,分別是地址。 第三個數組是一個int數組,分別是員工編號; 第四個數組是一個double數組,分別是各自的薪水。
我知道如何做一個公共構造函數,但是我不確定Company類的構造函數。
您的幫助對我來說非常寶貴。 先感謝您。
感覺就像一個非常簡單的類結構。
public class Company {
Employee[] employees;
public Company (String[] names, String[] addresses, int[] ids, double[] salaries) {
employees = new Employee[names.length];
for (int i = 0; i < employee.length; i++) {
employees[i] = new Employee (names[i], addresses[i], ids[i], salaries[i]);
}
}
static class Employee {
String name;
String address;
int id;
double salary;
Employee (String name, String address, int id, double salary) {
this.name = name;
this.address = address;
this.id = id;
this.salary = salary;
}
}
}
如果這是學校作業,並且您正在使用stackoverflow作弊,請刪除問題。
public Company(String[] names, String[] addresses, int[] employeeNumbers, double[] salaries) {
}
更好的設計是
public Company(Employee[] employees) {
}
並有一個員工班
public class Employee {
private String name;
private String address;
private int employeeNumber;
private double salary; // you may not want to use this in production
public Employee(String name, String address, int employeeNumber, double salary) {
}
// constructors, getters and setters, etc
}
根據@Kayaman的評論,您似乎已經有一個employee類,但是由於某些原因,您不想使用第一個構造一個由一組雇員而不是4個雇員組成的構造函數。 您想要將第一個構造函數與4個數組參數一起使用,並從這些參數構造數組對象。 這實際上是不好的編程。 它使您的代碼看起來很臟。
如果這是學校的任務,而您被要求那樣做,我想這名老師可能只是想讓您從中學到一些東西。 但是這樣的代碼不應該在生產中編寫。
無論如何,這是您可能正在尋找的解決方案
public class Company {
private Employee[] employees;
public Company(String[] names, String[] addresses, int[] employeeNumbers, double[] salaries) {
employees = new Employees[names.length]; // assuming all arrays are of the same length
for (int i = 0;i < employees.length;i++) {
employees[i] = new Employee(names[i], addresses[i], employeeNumbers[i], salaries[i]);
}
}
}
import java.util.ArrayList;
import java.util.Collections;
public Class Company
{
ArrayList<Employee> employees = new ArrayList<Employee>();
public Company(Employee[] newEmployees)
{
employees.addAll(newEmployees);
}
}
public Class Employee
{
public String Name;
public String Address;
public Int Id;
public Double Salary;
public Employee(string name, string address, int id, double salary)
{
this.Name = name;
this.Address = address;
this.Salary = salary;
this.Id = id;
}
}
創建新公司:
Employee[] e = {
new Employee("Bob", "Bobs address", 1, 50000),
new Employee("Jane", "Janes address", 3, 85000)
}
Company c = new Company(e);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.