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 ("ntFirst Name: " + getFirstName() + " " +"Last Name: " + getLastName() 
                 + " " +  "ntId number: " + getid() + " " + "ntEmployee 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;
 }
}

您正在联系字符串,并试图将它们存储到Employee数组中。您必须使用firstName、lastName和ID创建一个新的employee对象,然后将引用存储在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;

如果有效的话,请回复。

我不相信一个列表可以是三维的(包含名字、姓氏、idNumbers(。如果你创建了三个列表,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];
     }
}

最新更新