2015-12-14 68 views
-1

我對java課程的介紹非常新,我一直在尋找幫助,解決了我收到的錯誤。錯誤消息在下面與實際代碼一起發佈。有誰知道我爲什麼收到這條消息,無論如何幫助我?代碼能夠編譯和運行,但不是打印在最後我收到一個彈出錯誤消息(下面的屏幕截圖),但我不明白這意味着什麼或爲什麼我得到它。誰能幫忙?謝謝!錯誤消息:Int不能轉換爲類型

public class Employee10 
{ 
    public static void main (String args[]) 
    { 
     Employee e1 = new Employee(); 
     Employee[] arr = new Employee[2]; 

     int j = 0; 

     for (int i=0; i < 3; i++) 
     { 
      arr[0] = e1; 

      String nameF = Input.getString("Please enter a First Name"); 
      String nameL = Input.getString("Please enter a Last Name"); 
      int Number = Input.getInt("Please enter an Employee Number"); 
      String Street = Input.getString("Please enter a Street address"); 
      String City = Input.getString("Please enter a City"); 
      String State = Input.getString("Please enter a State"); 
      double Zip = Input.getDouble("Please enter a Zip Code"); 
      int Month = Input.getInt("Please enter a Month"); 
      int Day = Input.getInt("Please enter a Day"); 
      int Year = Input.getInt("Please enter a Year"); 

      e1.setNumber(Number); 
      e1.setName(new Name(nameF, nameL)); 
      e1.setAddress(new Address(Street, City, State, Zip)); 
      e1.setHireDate(new Date(Month, Day, Year)); 

      System.out.println(e1.getEmployeeString()); 


      arr[i] = e1; 

     } 

     for (j=0; j < arr.length; j++) 
     { 
      System.out.println(arr[j].getEmployeeString()); 
     } 
    } 
} 

錯誤消息: (可惜我沒能嵌入照片,所以我只需要所以這裏打出來的代碼,它是):

的Java類文件「Employee10.class」可能不會被啓動。 檢查控制檯可能的錯誤消息。

這是什麼意思?我可以檢查的控制檯在哪裏?

+1

您的代碼試圖將'int'存儲到'Employee'對象的數組的代碼。你想用'arr [j] = j + 1;'來做什麼? – CubeJockey

+0

你認爲這條線有什麼作用?您不能將一個數字轉換爲一個Employee對象,也不期望能夠。 –

+0

您的編譯器抱怨的行似乎沒有在您的代碼中?正如下面的答案指出的那樣,編寫的代碼甚至不會編譯。沒有看到實際的代碼,我不會冒險猜測。雖然我***會指出你一遍又一遍地重複使用同一個'Employee'對象。你最終會得到三個相同的'員工'數組。 – dcsohl

回答

0

嘗試做一些事情是這樣的:

Employee e2 = new Employee(); 
    arr[j] = e2 ; 

因爲在arr您可以添加Employee類型的唯一要素;

0

看起來你在發佈你的代碼之前就拿走了壞行。你是否試圖使用該行遍歷for循環?如果是這樣,那就不需要了。嘗試:

for (j=0; j < arr.length; j++) 
{ 
    System.out.println(arr[j].getEmployeeString()); 
} 

您還需要改變ARR [0] = E1;以arr [i] = e1;在你的循環中獲取員工信息。並且您應該在該循環中創建您的e1 Employee對象,以便每次獲得新的Employee。

+0

感謝您的建議Ryan,您的想法有助於我理清編譯器問題。你能看看我收到的新錯誤嗎? – COB1999

0

我完全理解你在做什麼, 你試圖將下一個員工對象分配給當前員工,而你寫的代碼在語法上是錯誤的。

下面是需要改變需要

arr[j] = ; 

要改變爲

arr[j] = arr[j+1]; 
相關問題