2012-06-14 100 views
0

我想做两个3×3数组(预定义索引),将自己添加并显示输出,但我一直得到一个OOBE(超出界限例外)错误有人可以请帮助我任何输入大大appricated,三江源多维数组调试outofboundsexception

// 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 

}

回答

3

任何地方你正在做col <= L1col <= l需要改变col < L1col < l

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

+0

正确。这也可以通过调试并查看与数组大小相比太高的值来找到。 –