这是报错的情况:
控制台里面显示了报错的位置是在main方法的第7行,和第16行,我们找到对应行仔细观察,发现是第16行的数组长度定义错误
其实很简单,只要把被调用函数中的from和to对换位置即可,编译后即可正常通过,修改好的代码放在下方,有同样错误的朋友可以复制代码运行试试看
public class Test6 {
public static void main(String[] args) {
// 定义用于操作的数组
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8};
int[] arr2 = copyOrange(arr, 2, 6);
for (int i = 0; i < arr2.length; i++) {
System.out.println(arr2[i]);
}
}
// 拷贝数组的方法
public static int[] copyOrange(int[] arr, int from, int to) {
// 定义新数组用于存储新数组
int[] newArr = new int[to - from];
for (int i = from; i < to; i++) {
newArr[i - from] = arr[i];
}
return newArr;
}
}