当前位置: 首页 > 面试题库 >

java.lang.ArrayIndexOutOfBoundsException:0-数组是否大于索引?

包沈义
2023-03-14
问题内容

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

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

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”。它通过抛出异常来“说”这一点。在您的情况下,异常为
java.lang.ArrayIndexOutOfBoundsException:0

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



 类似资料:
  • 问题内容: 我将JTable子类化,并使用DefaultTableModel建模我的表数据。下面的类设置JTable,并向模型添加一行。 在显示/可视化时,将引发以下异常: 我正在扯头发-我还无法找到这个非常简单的用例的根本原因。 问题答案: 我认为您需要在TableModel中添加列。您的代码将UI列添加到表中,但不将其添加到模型中

  • 我在做线性探测。它散列了表大小mod上的值,并为此编写了一些代码。 它适用于除零(0)之外的每个值。当零在要散列的值中时,就像在java数组中一样,每个索引最初都是以零启动的。用零检查索引是否空闲,如果零要散列并且可以被覆盖,是否会引起麻烦。我还检查了null的相等性,但它会引发错误类型不匹配。 有人有什么建议吗?

  • 问题内容: 在Swift中,是否有任何方法可以检查数组中是否存在索引而不会引发致命错误? 我希望我可以做这样的事情: 但是我明白了 致命错误:数组索引超出范围 问题答案: Swift中的一种优雅方式:

  • 我试图从我的sqlite数据库中获取一行。当我运行这行代码时:- 我得到以下错误:- android.database.CursorIndexOutOfBoundsException:请求索引0,大小为0 有人能帮我解决这个问题吗?感谢任何帮助或建议。谢谢你。

  • 今天我注意到这个node.js代码: 给出输出 这很奇怪;如果某物不等于0或大于0,那么它为什么大于或等于0呢?发生什么事了?