这道java程序到底错了哪里,请详细指出错误的地方(我在线)
发布网友
发布时间:2024-10-04 13:17
我来回答
共3个回答
热心网友
时间:2024-10-04 14:15
你的k越界了,比如for(k=0;k<a[k].length;k++)这句,a[k].length是跟k一起动的,这种写法不是说不可以,但是极其危险,比如这里就出界了,估计也不是你的本意。如果要把数组所有元素打印出来,可以这样写:
public class D {
public static void main(String[] args) {
int i, j, k, sum = 0;
int a[][][] = { { { 5, 1 }, { 6, 7 } }, { { 9, 4 }, { 8, 3 } } };
for (i = 0; i < a.length; i++)
for (j = 0; j < a[i].length; j++)
for (k = 0; k < a[i][j].length; k++) {
System.out.print("a[" + i + "][" + j + "][" + k + "]=");
System.out.println(a[i][j][k]);
sum += a[i][j][k];
}
System.out.println("sum" + sum);
}
}
热心网友
时间:2024-10-04 14:13
a[i].length?
热心网友
时间:2024-10-04 14:12
public class D {
public static void main(String[] args) {
int i ,j ,k ,sum=0;
int a[][][]={{{5,1},{6,7}},{{9,4},{8,3}}};
for(i=0;i<a.length;i++)
for(j=0;j<a[i].length;j++) //这里错了.这是改过之后的
for(k=0;k<a[i][j].length;k++){//这里也错了 这也是改过之后的
System.out.print("a["+i+"]["+j+"]["+k+"]=");
System.out.println( a[i][j][k]);
sum+=a[i][j][k];
}
System.out.println("sum"+sum);
}
}
数组越界的问题,循环的时候数组错了. 如果还不明白你先试试一维数组循环,再试试二维数组循环....如果还不明白,总之你看上面我改了后的循环应该能明白的吧.