2016-07-07 46 views
1

您好,我有點困惑於我想解決的一些編碼問題。如何將不同數組中的字符串添加到java中的一個數組中

我有幾個字符串數組:

String[] firstNames= {"Fred","John","Amir", "James","Bob","Jay","Amber"}; 
String[] lastNames = {"Bond","Kates","Memar", "White","Marley","Brown","Nogofski"}; 
String[] idNumbers = {"R111111","A222222","AB11111", "KR22121","V311133","L242434","P102432"}; 
String[] employeeNum = {"1111","2222","3333", "4444","5555","6666","7777"}; 

我要創建一個陣列並以某種方式組織的信息的對應件上面Employee[] list = new Employee[firstNames.length]; list = listOfEmployees(firstNames,lastNames,idNumbers); // create the list of employees in one array

我開始寫該方法的方法提供的:

public static Employee[] listOfEmployees(String[] firstName, String[]    
lastName, String[] idNumber){ 

} 

但不知道如何解決這個問題。也不知道我的參數是否正確。

最終的結果應該是這樣的:

Employee #1 
    first name:Fred Last Name:Bond 
    Id number:R111111 

。 。 。

Employee #2 
    first name:John Last Name:Kates 
    Id number:A222222 

等..

在此先感謝。

編輯

Employee類:

public class Employee{ 
    private String firstName; 
    private String lastName; 
    private String idNumber; 
    private String employeeNumber; 
    private int employeeCount; 

    /** 
    * Constructor 
    * @param firstName first name 
    * @param lastName last name 
    * @param idNumber id number 
    */ 
    public Employee(String firstName, String lastName, String idNumber){ 
     this.firstName = firstName; 
     this.lastName = lastName; 
     this.idNumber = idNumber; 
     employeeCount = 0; 
    } 
    /** 
    * Accessors here 
    */ 

    public String getFirstName(){ 
     return firstName; 
    } 

    public String getLastName(){ 
     return lastName; 
    } 

    public String getIdNumber(){ 
     return idNumber; 
    } 

    public String getEmployeeNumber(){ 
     return employeeNumber; 
    } 

    // mutators here 

    /** 
    * @param firstName first name 
    */ 
    public void setFirstName(String firstName){ 
     this.firstName = firstName; 
    } 

    /** 
    * @param lastName last name 
    */ 
    public void setLastName(String lastName){ 
     this.lastName = lastName; 
    } 

    /** 
    * @param idNumber id number 
    */ 
    public void setIdNumber(String idNumber){ 
     this.idNumber = idNumber; 
    } 

    /** 
    * @param employeeNumber employee number 
    */ 
    public void setEmployeeNumber(String employeeNumber){ 
     this.employeeNumber = ""; 
    } 
    @Override 
    public String toString(){ 
     String result = "First name: " + getFirstName() + "\nLast name: " + getLastName() 
       + "\nId number: " + getIdNumber() + "\nEmployee number: "; 
     if(getEmployeeNumber() == null){ 
     return result + "No employee number has been assigned yet!"; 
    } 
     return result + getEmployeeNumber(); 
    } 

} 
+1

在哪裏員工類的定義 –

+0

@QPaysTaxes我嘗試了幾個for循環,但不能將它們綁定在一起。 – Ronald

+0

@ScaryWombat我有員工類,但它很長,不確定是否要添加或不添加。 – Ronald

回答

3

請嘗試以下方法:

private static Employee[] listOfEmployees(String[] firstNames, String[] lastNames, String[] idNumbers){  
    Employee[] list = new Employee[firstNames.length]; 

    for(int i=0; i<list.length; i++){ 
    list[i]=new Employee(firstNames[i], lastNames[i], idNumbers[i]); 
    }  

    return list; 
} 

要打印在上面的函數返回的數組,你可以使用:

private static void printEmployees(Employee[] employees){ 
    for (Employee employee : employees) { 
     System.out.println("ID: "+employee.getIdNumber()); 
     System.out.println("Name : "+employee.getFirstName()+" "+employee.getLastName()); 
     System.out.println("------------------------------------"); 
    } 
} 

,並按照聲明稱他們爲:

printEmployees(listOfEmployees(firstNames,lastNames,idNumbers));

+0

如果數組的大小不一樣,會崩潰編輯:更確切地說,如果firstNames的長度高於另一個數組的長度 – SnoozeTime

+0

Sure @SnoozeTime但是對於這個簡單的場景和問題(單個數組或其中任何一個的可變大小沒有或沒有)未被考慮。我們應該嗎?你怎麼看? –

+0

如果代碼與其他人共享,我敢肯定有人打算用不同大小的數組調用這個函數。當然,如果代碼只是一個簡單的場景,它應該可以=) – SnoozeTime

0

做一個for循環和使用Employee構造函數初始化對象:

Employee[] list = new Employee[firstNames.length]; 
for (int i = 0; i < firstName.length; i++) { 
    list[i] = new Employee(firstName[i], lastName[i] ... 
} 
0

試試這個

public class Test{ 
public static void main(String[] args){ 
String[] firstNames= {"Fred","John","Amir", "James","Bob","Jay","Amber"}; 
String[] lastNames = {"Bond","Kates","Memar", "White","Marley","Brown","Nogofski"}; 
String[] idNumbers = {"R111111","A222222","AB11111", "KR22121","V311133","L242434","P102432"}; 
String[] employeeNum = {"1111","2222","3333", "4444","5555","6666","7777"}; 
List<Employee> list = new ArrayList<>(); 
for(int i=0;i<firstName.length();i++){ 
list.add(new(Employee(firstName[i],lastName[i],idNumbers[i],employeeNumber[i]))} 

}} 
相關問題