A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 姚伟涛 中级黑马   /  2012-4-12 19:01  /  1505 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. class FourDMatrix{
  2. public static void main (String args[]){
  3. int FourD[][][][]=new int [2][3][4][5];
  4. int i,j,k,l;
  5. for (i=0;i<2;i++)
  6. for (j=0;i<3;j++)
  7. for (k=0;i<4;k++)
  8. for (l=0;i<5;l++)
  9. FourD[i][j][k][l]=i*j*k*l;
  10.   
  11. for (i=0;i<2;i++){
  12. for (j=0;i<3;j++){
  13. for (k=0;i<4;k++){
  14. for (l=0;i<5;l++)
  15. System.out.print(FourD[i][j][k][l]+" ");
  16. System.out.println();
  17. }
  18. System.out.println();
  19. }
  20. System.out.println();
  21. }  
  22. }
  23. }  
  24. 为什么运行就是Exception in thread "main" java.lang.ArrayIndexOutofBounds Exception: 5 at FourDMatrix.main(FourDMatrix.java:9)

复制代码

4 个回复

倒序浏览
呃,这个嘛...我还特意拿去运行了一把...你的for循环里判断条件全是i

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报

                int FourD[][][][] = new int[2][3][4][5];
                int i, j, k, l;
                for (i = 0; i < 2; i++)
                        for (j = 0; j < 3; j++)
                                for (k = 0; k < 4; k++)  
                                        for (l = 0; l < 5; l++)   你以前那么写。。这里就是死循环了。。。
                                                FourD[i][j][k][l] = i * j * k * l;
回复 使用道具 举报
学习中。。。
回复 使用道具 举报
class FourDMatrix{
public static void main (String args[]){
int FourD[][][][]=new int [2][3][4][5];
int i,j,k,l;
for (i=0;i<2;i++)
for (j=0;i<3;j++)
for (k=0;i<4;k++)
for (l=0;i<5;l++) //你定义了四个变量,为什么用的时候只用了i呢?
FourD[i][j][k][l]=i*j*k*l;
  
for (i=0;i<2;i++){
for (j=0;i<3;j++){
for (k=0;i<4;k++){
for (l=0;i<5;l++)
System.out.print(FourD[i][j][k][l]+" ");
System.out.println();
}
System.out.println();
}
System.out.println();
}  
}
}  
这个程序没有什么太大的问题,问题在于楼主没有把变量弄清楚。估计是ctrl+j用习惯了,哈哈!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马