两个数组交换数据,报错看不明白了

代码如下
img
报错如下

img
为什么会报错啊


public static void main(String[] args) {
        int[] num = { 1, 3, -1, 5, -2 };
        int len = num.length;
        int[] newNum = new int[len];
        for (int i = 0; i < len; i++) {
            if (num[i] < 0) {
                newNum[len - 1 - i] = 0;
            } else {
                newNum[len - 1 - i] = num[i];
            }
        }
        System.out.println(Arrays.toString(newNum));
    }

img

看报错是在24行发生了错误,ArrayIndexOutOfBoundsException,这个是数组索引越界了