Java 错误:不兼容的类型:int[]无法转换为int
我正在处理一个项目,不断收到错误消息,说错误:不兼容类型int[]在试图编译时无法转换为int。错误显示它在第17行。我试着把所有的东西都改成双打,但双打也会出现同样的错误。我不知道为什么这些数字无法存储,解释一下会很有帮助Java 错误:不兼容的类型:int[]无法转换为int,java,arrays,for-loop,double,Java,Arrays,For Loop,Double,我正在处理一个项目,不断收到错误消息,说错误:不兼容类型int[]在试图编译时无法转换为int。错误显示它在第17行。我试着把所有的东西都改成双打,但双打也会出现同样的错误。我不知道为什么这些数字无法存储,解释一下会很有帮助 int[][] houseNumbers; int numberOfHouses, homeNumber, numberOfPeople, house, people; System.out.print("How many houses in the
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();
}
}
int[][]门牌号;
int numberofhouse,home number,numberOfPeople,house,people;
System.out.print(“街上有多少房子?:”);
numberofhouse=keyboard.nextInt();
房屋编号=新的整数[numberOfHouses][];
用于(house=0;house
您有几个错误。最大的一个是尝试将int
分配给int
数组。数组是(一个或多个)项的块。在访问单个项目之前,必须使用new
分配块。您的编译器正在告诉您这一点。学习理解编译器的错误和警告
错误1:
/* houseNumbers[house] -> */ homeNumber = keyboard.nextInt();
错误2:
System.out.print("How many people live in house number" + /* houseNumbers[house] -> */ homeNumber + ":");
houseNumber[house]=keyboard.nextInt()代码>将int
分配给int
数组。三行之后你就可以正确地做了。您可能需要numberOfPeople=keyboard.nextInt()代码>在那里。我这样做了:homeNumber=keyboard.nextInt();房屋编号[房屋]=房屋编号;我仍然会遇到同样的错误,把一个int赋值给一个int数组有什么错呢?错的是Java不允许你这么做。时期int
不是int
数组。现在一些语言会说“哦……也许她是指我把int
转换成int[]
和一个元素”。。。为你做这件事。Java不是这样的。Java坚持让你说出你的意思。houseNumber[house]
是一个数组。不能为其分配int
。您必须为数组分配空间,然后可以为每个元素分配:houseNumbers[house]=newint[numberOfPeople]代码>