gpt4 book ai didi

java - 数组元素交换异常

转载 作者:行者123 更新时间:2023-11-29 07:55:44 27 4
gpt4 key购买 nike

我有这段代码来交换数组元素对:

int[] a= new int[]{1,2,3,4};
for(int i=0; i<a.length ;i++)
{
int temp= a[i];
a[i] = a[i+1];
a[i+1] = temp;
}

但是,我收到以下异常:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7
at com.B.main(B.java:14)

为什么我会收到此异常?我该如何解决?

最佳答案

让我们画一张表:

 i | a[i]
---+------
0 | 1 :)
1 | 2 :)
2 | 3 :)
3 | 4 :)
4 | ? :_(

请注意,Java 中的数组是从零开始的,这意味着,如果您有一个大小为 N 的数组(在您的例子中为 4),那么索引来自 0N - 1(在你的例子中是 03)。

因此,当您尝试访问 a[a.length - 1 + 1](上次迭代中的 a[i+1])时,您将获得 ArrayIndexOutOfBoundsException .

关于java - 数组元素交换异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17905881/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com