2016-12-13 112 views
-2

我在Java的新尝试去了解它是如何工作的二维数组,我遇到这个错误回报。由于如何摆脱ArrayIndexOutOfBoundsException异常的:3

公共类主要{

public static int n, m, a[][]; 
public static void main(String []args){ 

    Scanner sc=new Scanner(System.in); 
    n=sc.nextInt(); 
    m=sc.nextInt(); 
    a=new int[n][m]; 
    int i,j,s=0; 
    for (i=0;i<n;i++) 
    for (j=0;j<m;j++){ 
     a[i][j]=sc.nextInt(); 
    } 

    for (i=0;i<a.length;i++){ 
     for (j=0;j<a[i].length;j++){ 
      if (a[i][j+1]>a[i+1][j]) s=s+a[i][j+1]; 
      else s=s+a[i+1][j]; 
     } 
    } 
    System.out.println(s); 
    sc.close(); 
} 

}

回答

-2

在你的第二个嵌套循环中,ij的范围将在每个循环的最后一次迭代被超越,如果引用[i + 1][j + 1]

+0

道歉。尝试使用SE应用程序来回答,但你不能引用原代码仔细检查您的回复的有效性。 –

+0

而不仅仅是downvoting我的答复,这将是知道什么是错误的/不正确有关我的回答,请有用。 –