2016-10-07 14 views
0

Это мой первый язык, поэтому я новичок в этом поле. Пожалуйста, помогите мне. Я выполняю свое задание, и я получил ошибку в процессе компиляции: «несовместимые типы». Первый класс, который я сделал раньше, и это работает. Класс сотрудников я больше не должен касаться.несовместимый тип в java (задача)

class Employee{ 

    private String firstName; // First name of employee 
    private String lastName; // Last name of employee 
    private String id; // Personal id number of employee 
    private String emNum; // Employee number 

    static int counter = 0; // The counter variable will keep track the number of employee 

    public Employee(String firstName, String lastName, String id) 
    { 
     this.firstName = firstName; 
     this.lastName = lastName; 
     this.id = id; 
     emNum = "EMPTY"; 
     counter++; 
    } 

    public void setFirstName(String firstName) 
    { 
     this.firstName = firstName; 
    } 

    public String getFirstName() 
    { 
     return firstName; 
    } 

    public void setLastName(String lastName) 
    { 
     this.lastName = lastName; 
    } 

    public String getLastName() 
    { 
     return lastName; 
    } 

    public void setid(String id) 
    { 
     this.id = id; 
    } 

    public String getid() 
    { 
     return id; 
    } 

    public void setEmNum(String emNum) 
    { 
     this.emNum = emNum; 
    } 

    public String getEmNum() 
    { 
     return emNum; 
    } 

    public static int getNumberOfEmployees() 
    { 
     return counter; 
    } 

    public String toString() 
    { 
     if(emNum == "EMPTY"){ 
     setEmNum("Employee number:No employee number has been assigned yet!"); 
     } 
     else 
     return emNum; 

     return ("\n\tFirst Name: " + getFirstName() + " " +"Last Name: " + getLastName() 
       + " " + "\n\tId number: " + getid() + " " + "\n\tEmployee number: " + getEmNum()); 
    } 

} 

В классе A1Q2 у меня есть проблемы. В цикле я хотел создать список этих сотрудников в ОДНОМ массиве. Он показывает ошибку «не может найти символ». На самом деле, я вижу, что типы r разные, поэтому он не может писать тип String в Employee, но я не понимаю, как это исправить.

требуется: Сотрудник
найдено: java.lang.String

class TestA1Q2 
{ 
    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"}; 

    Employee[] list = new Employee[firstNames.length]; 
    list = listOfEmployees(firstNames,lastNames,idNumbers); // create the list of employees in one array 
    System.out.println(list); 
    System.out.println(Employee.getNumberOfEmployees()); 
    } 
    // DON`T TOUCH ABOVE PART 


    static Employee[] listOfEmployees(String[] firstNames, String[] lastNames, String[] idNumbers) 
    { 
    Employee[] employee = new Employee[firstNames.length]; 
    for (int i = 0; i < firstNames.length; i++){ 
     employee[i] = firstNames[i] + lastNames[i] + idNumbers[i]; 
    } 
    return employee; 
} 
} 
+0

Во-первых, вы должны предоставить контекст (или номер строки для ошибки). Во-вторых, вы не сформулировали свои намерения или цель для сотрудника [i] = firstNames [i] + lastNames [i] + idNumbers [i]; –

ответ

0

Вы связываетесь строки и пытается сохранить их в массив Сотрудника. Вы должны создать новый объект сотрудника, используя firstName, lastName и ID, а затем сохраните ссылку в массиве Employee.

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

Post back если это сработало.

0

Я не считаю, что один список может быть трехмерным (содержащий имена, имена, имена, имена). Если вы создали 3 списков, listFirstNames, listLastNames, listIDNumbers, заполняя их в то же время, может работать:

Employee[] employee = new Employee[firstNames.length]; 
    for (int i = 0; i < firstNames.length; i++){ 
     listFirstNames[i] = firstNames[i]; 
     listLastNames[i] = lastnames[i]; 
     listIDNumbers[i] = idNumbers[i]; 
    } 
} 
Смежные вопросы