我试图获取一个对象数组,并使用递归方法打印出相反的图形,但出现上述错误。有人可以帮我吗?
public static void main(String[] args) {
int v = 1;
int x = 2;
String y = "dog";
String z = "cat";
Object[] a = {v, x, y, z};
printReverse(a, a.length);
}
public static void printReverse(Object[] arr, int i) {
if (i > 0) {
System.out.println(arr[i]);
printReverse(arr, i - 1);
}
else {
return;
}
}
}
答案 0 :(得分:1)
您对printReverse
的初始呼叫需要传递a.length -1
。因为数组是0索引的,所以您在初次调用之前就越界越好
答案 1 :(得分:0)
该错误消息表示您正在访问数组元素4,但只有索引从0到3的元素。Java中的数组索引从0开始。