2017-03-06 130 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 + ":"); 
相关问题