抛出异常是否表明数组大于索引?如果不是,那是什么意思,为什么?我该如何纠正?

线程“主”中的异常java.lang.ArrayIndexOutOfBoundsException:0
在leap年.LeapYear.main(LeapYear.java:13)

public class LeapYear {

public static void main(String[] args) {
    int year = Integer.parseInt(args[0]);
    boolean isLeapYear;

    // divisible by 4
    isLeapYear = (year % 4 == 0);

    // divisible by 4 and not 100
    isLeapYear = isLeapYear && (year % 100 != 0);

    // divisible by 4 and not 100 unless divisible by 400
    isLeapYear = isLeapYear || (year % 400 == 0);

    System.out.println(isLeapYear);
}
}

最佳答案

该数组不包含任何元素-它是一个空数组。因此,当您请求数组中的第一个元素(索引0中包含的元素)时,数组会显示“我索引0处没有元素”。它通过抛出异常来“说”这一点。在您的情况下,异常是 java.lang.ArrayIndexOutOfBoundsException:0

这意味着您请求的索引超出了数组的范围。换句话说,数组具有长度(是边界)。当它的长度为0(为空)并且您要求第一个元素时,数组会告诉您所请求的项目不可用,因为该数组的长度甚至不是1个元素。

09-07 11:45