多维数组调试outofboundsexception

时间:2012-06-14 14:38:31

标签: java arrays multidimensional-array

我正在尝试制作两个3乘3的数组(带有预定索引),这些数组将自我添加并显示输出但我继续获得OOBE(超出范围的异常)错误

// The "Matrixsum" class.
import java.awt.*;
import hsa.Console;

public class Matrixsum
{
    static Console c;           // The output console

    public static void main (String[] args)
    {
        c = new Console ();

        int array[] [] = {{4, 5, 3}, {6, 8, 3}, {1, 2, 3}};
        int array1[] [] = {{5, 4, 3}, {5, 6, 3}{1, 2, 3}};

        c.println ("Number of Row= " + array.length);
        c.println ("Number of Column= " + array [1].length);

        int l = array.length;

        c.println ("\t\t\nMatrix 1 :\n ");
        for (int row = 0 ; row < l ; row++)
        {
            for (int col = 0 ; col <= l ; col++)
            {
                c.print (" " + array [row] [col]);
            }
            c.println ();
        }
        int L1 = array1.length;
        c.println ("Matrix 2 : ");
        for (int row = 0 ; row < L1 ; row++)
        {
            for (int col = 0 ; col <= L1 ; col++)
            {
                c.print (" " + array1 [row] [col]);
            }
            c.println ();
        }
        c.println ("Addition of both matrix : ");
        for (int row = 0 ; row < L1 ; row++)
        {
            for (int col = 0 ; col <= L1 ; col++)
            {
                c.print (" " + (array [row] [col] + array1 [row] [col]));
            }
            c.println ();
        }


        // Place your program here.  'c' is the output console
    } // main method
}

1 个答案:

答案 0 :(得分:3)

您所在的任何地方col <= L1col <= l需要更改为col < L1col < l

数组的最大索引总是长度减去1,因为数组索引从零开始。