黑马程序员技术交流社区

标题: 二维数组赋值 读取操作报ArrayIndexOutOfBoundsException[已解决] [打印本页]

作者: 丁乐    时间: 2012-5-24 16:34
标题: 二维数组赋值 读取操作报ArrayIndexOutOfBoundsException[已解决]
本帖最后由 丁乐 于 2012-5-24 16:54 编辑
  1. public class Exercise2 {
  2.          public static void main(String[] args){
  3.                 int size1 = 10;
  4.                 int size2 = 2;
  5.                 int[][] array = new int[size2][size1];
  6.                 //遍历二维数组  并赋值1
  7.                 for(int i =0;i<size1;i++){
  8.                         for(int j =0;j<size1;j++){
  9.                                 array[i][j]=1;
  10.                         }
  11.                 }
  12.                 //遍历并打印数组
  13.                 for(int i =0;i<size2;i++){
  14.                         for(int j =0;j<size1;j++){
  15.                                 System.out.println("["+i+"]"+"["+j+"]="+array[i][j]);
  16.                         }
  17.                 }               
  18.         }
  19. }


  20. /*Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
  21.         at Exercise2.main(Exercise2.java:9)
  22. */

复制代码

作者: 符云爵    时间: 2012-5-24 16:37
public class Exercise2 {
         public static void main(String[] args){
                int size1 = 10;
                int size2 = 2;
                int[][] array = new int[size2][size1];
                //遍历二维数组  并赋值1
                for(int i =0;i<size1;i++){   //红色部分应改为size2
                        for(int j =0;j<size1;j++){
                                array[j]=1;
                        }
                }
                //遍历并打印数组
                for(int i =0;i<size2;i++){
                        for(int j =0;j<size1;j++){
                                System.out.println("["+i+"]"+"["+j+"]="+array[j]);
                        }
                }               
        }
}
作者: 田建    时间: 2012-5-24 16:48
首先你看到这个提示:ArrayIndexOutOfBoundsException,应该知道是发生了脚标越界异常。既然是脚标越界了,你就应该去检查你代码中的size1和size2;你定义的size1=10,size2=2;而在你的外循环中你写的size1超出了你定义的size2的范围,这就是异常的原因;不过看了你的代码应该是粗心所致,因为下面的是对的!所以当出现异常的时候首先要知道是什么意识,然后知道根据所报异常怎么去解决就好!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2