代码不妨贴出来看看
错误提示就这些字符?重要的是lang.后面的信息
索引越界,你Debug看下就知道了.大于等于数组大小,则该索引为非法索引。 比如你数组长度为3.索引从0开始.只有索引2取到值.这时候你索引取3或者大于3就会报异常
java的编译环境版本太低,例如:java 8 class file的版本是52,Java 7虚拟机只能支持到51。所以需要升级到java 8 vm才行。
版本升级/调整一下
希望对题主有所帮助,可以的话,帮忙点个采纳!
因为arr.length只是获取了一维数组的个数,但是在遍历一维数组的时候,创建了二维数组的个数。循环给数组赋值的时候,又用了一维数组的个数,比如i=0的时候,二维数组的长度是1,但是用arr.length的话,是3,因此会访问到a[0][1]、a[0][2]、a[0][3]。但是最多是a[0][0];因此数组越界。所以应该是将j < arr.length改为j < arr[i].length;就可以了
public class Main {
public static void main(String[] args) {
int[][] arr = new int[3][];
System.out.println(arr.length);
for (int i = 0; i < arr.length; i++) {
arr[i] = new int[i+1];
for (int j = 0; j < arr[i].length; j++) {
arr[i][j] = i+1;
}
}
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.println(arr[i][j]);
}
System.out.println();
}
}
}