我是Java的新手并试图了解它是如何工作二维数组的,我遇到了这个错误。感谢
public class Main {
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();
}
}
答案 0 :(得分:-2)
在第二组嵌套循环中,如果引用i
或j
,则每个循环的最后一次迭代将超出[i + 1]
和[j + 1]
的范围