返回列表 回复 发帖

《Java入门123》习题源码运行时提示报错

大神们好,我阅读《Java入门123》习题源码运行时提示报错,具体是第五章习题第三题,我把答案源码复制到eclipse上运行提示报错:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
        at test.test.main(test.java:9)
百度了应该是标值出界,但不懂如何解决,求解惑,谢谢!!

源码:
package test;
public class test {
        public static void main(String[] args) {
                int size1 = 2;
                int size2 = 10;
                int[][] array = new int[size2][size1];
                int[][] arrayII = array;
                for (int i = 0; i < size2; i++) {
                        arrayII[0][i] = 1;
                }
                for (int i = 0; i < size2; i++) {
                        arrayII[1][i] = 1;
                }
                for (int i = 0; i < size2; i++) {
                        for (int j = 0; j < size1; j++) {
                                System.out
                                                .println("[" + i + "]" + "[" + j + "]=" + array[i][j]);
                        }
                }
        }
}
低调处事,谦虚学习
求大家帮忙看看,谢谢
低调处事,谦虚学习
数组越界。把
&nbsp; for (int i = 0; i < size2; i++)
改为:
&nbsp; for (int i = 0; i < size1; i++)

就好了。
在网上购买本书的读者,请给本书发一个好评。谢谢大家。
回复 3# fwbook

非常谢谢管理员的回答,但是改了之后运行结果不是题目要求的结果;

其实题目是这样的:编写一个给二维数组中所有元素赋初始值的程序:创建一个二维的int数组,第一维大小为10,第二维大小为2,使用两个引用指向这个数组,要求第一个引用将第2维种索引为0的10个元素赋值为1,使用第二个引用将第2维种索引为1的10个元素赋值为2.最后使用循环语句将数组内容输入到控制台。
   
麻烦管理员你能根据这个题目来修改吗?谢谢
再把
int size1 = 2;
&nbsp;int size2 = 10;
改为:
int size1 = 10;
&nbsp;int size2 = 2;
在网上购买本书的读者,请给本书发一个好评。谢谢大家。
返回列表