2017-03-06 143 views
-2

我正在一個項目上工作,我不斷地收到錯誤消息說錯誤:當試圖編譯時,incompatible types int []不能轉換爲int。錯誤說它是在第17行。我試圖改變一切雙打,我得到同樣的錯誤雙打。我不知道爲什麼這些數字無法存儲,解釋會很有幫助。錯誤:不兼容的類型:int []不能轉換爲int

int[][] houseNumbers; 
    int numberOfHouses, homeNumber, numberOfPeople, house, people; 
    System.out.print("How many houses in the street?: "); 
    numberOfHouses = keyboard.nextInt(); 
    houseNumbers = new int[numberOfHouses][]; 
    for (house = 0; house < houseNumbers.length; house++){ 
     System.out.print("What is the next house number? : "); 
     houseNumbers[house] = keyboard.nextInt(); 
     System.out.print("How many people live in house number" + houseNumbers[house] + ":"); 
     numberOfPeople = keyboard.nextInt(); 
     houseNumbers[house] = new int[numberOfPeople]; 
     for (people = 0; people < houseNumbers[house].length; people++){ 
      System.out.print("What is the age of person " + people + ": "); 
      houseNumbers[house][people] = keyboard.nextInt(); 
     } 
    } 
+0

'houseNumbers [房子] = keyboard.nextInt();'分配一個'int'到'int'陣列。三行後,你做得正確。你可能想'numberOfPeople = keyboard.nextInt();'那裏。 –

+0

所以我做了:homeNumber = keyboard.nextInt(); houseNumbers [house] = homeNumber;並且我仍然得到相同的錯誤 – Mark

+0

將int分配給int數組有什麼問題? – Mark

回答

0

你有幾個錯誤。最大的嘗試是將int分配給int陣列。數組是一個(一個或多個)項目的塊。您必須先分配new塊,然後才能訪問各個項目。你的編譯器告訴你這一點。學習理解編譯器的錯誤和警告。

錯誤1:

/* houseNumbers[house] -> */ homeNumber = keyboard.nextInt(); 

錯誤2:

System.out.print("How many people live in house number" + /* houseNumbers[house] -> */ homeNumber + ":"); 
相關問題