【问题标题】:java.lang.ArrayIndexOutOfBoundsException: 3 [duplicate]java.lang.ArrayIndexOutOfBoundsException:3 [重复]
【发布时间】:2019-09-10 01:37:14
【问题描述】:

线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException: 3 在 arraydekla.main(arraydekla.java:19) C:\Users\acer\AppData\Local\NetBeans\Cache\8.2\executor-sn-ps\run.xml:53: Java 返回:1 BUILD FAILED(总时间:0 秒)

我的代码

【问题讨论】:

  • 不要张贴您的代码图片。使用正确的格式将代码复制粘贴到此处
  • 3 不是有效索引,因为您创建了一个大小为 2×3 的数组,内部数组的最大索引为 2(有效索引为:0, 1, 2一个大小为 3) 的数组

标签: java arrays


【解决方案1】:

Java 中的数组是从 0 开始的。

这意味着您从0 开始计算索引。因此,大小为 2 的数组将包含索引号为 01 的元素。大小为 3 的数组将包含索引为 012 的元素。

在您的代码中,您正在访问第 19 行的 [0,3] 和第 23 行的 [2, 0] 的元素。第 23 行和第 27 行包含相同类型的错误。

更多信息:

https://www.w3schools.com/java/java_arrays.asp

Why is array indexing in Java start with 0?

【讨论】:

【解决方案2】:

ArrayIndexOutOfBoundsException 被抛出以指示使用非法索引访问数组。 数组的索引总是从零开始。

由于数组的大小为 [2][3],我们只能访问数组元素 [0][0], [0][1], [0][2], [1][0] , [1][1], [1][2]。

我们无法访问 [2][3]、[1][3],因为索引大于数组的大小。

【讨论】:

    猜你喜欢
    • 2015-03-24
    • 2015-06-07
    • 2017-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多