注册 登录
编程论坛 JAVA论坛

多为数组代码正确,输出却错误。以附代码。

Eeiou 发布于 2015-12-12 09:55, 1477 次点击

public class twoD {
    public static void main(String agrs[])                    
    {
        int[][]twoD1={
                {1,2,3,4,5},
                {6,7,8,9,10},
                {11,12,13,14,15},
                {16,17,18,19,20},
                {21,22,23,24,25}
        };
        int[][]twoD2=new int[5][5];
        int k=1;
        for(int i=0;i<twoD2.length;i++)
            for(int j=0;j<twoD2.length;i++)
                twoD2[i][j]=k++;
        System.out.println("输出数组twoD1:");
        for(int i=0;i<twoD1.length;i++)
        {
            for(int j=0;j<twoD1[i].length;j++)
                System.out.println(twoD1[i][j]+"    ");
            System.out.println();
        }
        System.out.println("输出数组twoD2:");
        for(int i=0;i<twoD2.length;i++)
        {
            for(int j=0;j<twoD2[i].length;j++)
                System.out.println(twoD2[i][j]+"    ");
            System.out.println();
        }
    }
}
输出错误提示:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
    at twoD.main(twoD.java:16)
1 回复
#2
逆水寒刘2015-12-12 11:32
for(int i=0;i<twoD2.length;i++)
            for(int j=0;j<twoD2.length;i++)//这里请注意第二遍循环里,应该是j,不是i.其他没有问题。这类问题楼主应该小心注意,多留意出错信息
                twoD2[i][j]=k++;
1