2016-12-13 25 views
-2

私はJavaで新しく、2次元配列の仕組みを理解しようとしています。このエラーが発生しました。おかげ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番目のセットでは

答えて

-2

あなたが[i + 1]を参照している場合、ijの境界は、各ループの最後の繰り返しに超過しますまたは[j + 1]

+0

お詫び申し上げます。 SEアプリを使用して回答しようとしましたが、元のコードを参照して返信の有効性を再確認することはできません。 –

+0

私の返信をdownvotingするよりも、私の答えについて間違っている/間違っていることを知っておくと便利です。 –

関連する問題