我收到错误“double无法解除引用”。在下面的代码上,问题来自于以j开头的第二个for循环。我只能使用一维数组,所以我在脑海中处理这个问题的方法就是把它当作两个for循环的二维数组。我不知道这是否可能,因为我一直得到同样的错误。任何帮助或建议将不胜感激,如果您不明白,请询问。
public class FedEx12{
public static void largestBoxMeasurementsAndVolume(double [] lengthArray , double [] widthArray,double [] heightArray){
double boxVolume1 = lengthArray[0]*widthArray[0]*heightArray[0];
double boxVolume2 = lengthArray[1]*widthArray[1]*heightArray[1];
double boxVolume3 = lengthArray[2]*widthArray[2]*heightArray[2];
double boxVolume4 = lengthArray[3]*widthArray[3]*heightArray[3];
double boxVolume5 = lengthArray[4]*widthArray[4]*heightArray[4];
double [] totalBoxVolumes = {boxVolume1, boxVolume2, boxVolume3, boxVolume4, boxVolume5};
double max = totalBoxVolumes[0];
for (int i = 0; i < totalBoxVolumes.length;i++){
if(max < totalBoxVolumes[i])
max = (totalBoxVolumes[i]);
for (int j = 0; j < totalBoxVolumes[0].length;j++){
System.out.println(max + "\n" + lengthArray[j] + "\n" + widthArray[j] + "\n" + heightArray[j]);
}
}
}
}
这是我得到的错误
FedEx12.java:16: error: double cannot be dereferenced
for (int j = 0; j < totalBoxVolumes[0].length;j++){
^
1错误
答案 0 :(得分:0)
我认为你的意思是使用totalBoxVolumes.length
,它将返回数组的大小。
答案 1 :(得分:0)
您正尝试在totalBoxVolumes[0].length
的内容上调用方法,该方法包含基本类型(double)。
你想在数组本身上调用方法,所以totalBoxVolumes.lenght
。
答案 2 :(得分:0)
您已在此表单中定义了totalBoxVolumes
数组:
double [] totalBoxVolumes = {boxVolume1, boxVolume2, boxVolume3, boxVolume4, boxVolume5};
所以它是一维数组,这段代码有效:
totalBoxVolumes.length;
但您无法使用以下代码:
totalBoxVolumes[0].length;
totalBoxVolumes[0].length;
对2D数组或更多维度有效