2016-10-07 4 views
0

Es ist meine erste lang, also bin ich neu in diesem Bereich. Bitte hilf mir. Ich mache meinen Auftrag und habe den Fehler bei der Kompilierung bekommen: "inkompatible Typen". Die erste Klasse, die ich vorher gemacht habe und es funktioniert. Mitarbeiterklasse, die ich nicht mehr anfassen sollte.Inkompatibler Typ in Java (Task)

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()); 
    } 

} 

In der A1Q2 Klasse ich habe Problem. In der Schleife wollte ich die Liste dieser Mitarbeiter in einem Array erstellen. Es zeigt den Fehler "Kann kein Symbol finden". Eigentlich sehe ich, dass Typen anders sind, also kann ich keinen String-Typ in Employee schreiben, aber ich verstehe nicht, wie ich es beheben kann.

erforderlich: Mitarbeiter
gefunden: 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

Zunächst sollten Sie den Kontext zur Verfügung stellen (oder Zeilennummer für den Fehler). Zweitens haben Sie Ihre Absichten oder Ziele für Mitarbeiter [i] = firstNames [i] + lastNames [i] + idNumbers [i] nicht artikuliert; –

Antwort

0

Sie kontaktieren die Saiten und versuchen, sie in die Mitarbeiter-Array zu speichern. Sie müssen ein neues Mitarbeiterobjekt mithilfe von firstName, lastName und ID erstellen und dann den Verweis im Employee-Array speichern.

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 zurück, wenn das funktionierte.

0

Ich glaube nicht, dass eine Liste 3-dimensional sein kann (mit Vornamen, Nachnamen, IDNumbers). Wenn Sie 3 Listen erstellt, listFirstNames, listLastNames, listIDNumbers, sie zur gleichen Zeit füllt, kann arbeiten:

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]; 
    } 
} 
Verwandte Themen