gpt4 book ai didi

java - 是什么导致这个 ArrayIndexOutOfBoundsException 与一个简单的 "for"?

转载 作者:行者123 更新时间:2023-11-29 08:10:36 25 4
gpt4 key购买 nike

有人能告诉我我的数组代码有什么问题吗?输出是正确的,但在输出的底部显示了一些错误。

public static void main(String[] args) {
// TODO Auto-generated method stub

int[] number = {1,2,3,4,5};

System.out.println("Number in ascending order: ");
for (int x=0; x < number.length; ++x)
System.out.println(number[x]);

lasttofirst(number);

}

public static void lasttofirst(int[] number)
{
System.out.println("Number in descending order: ");
for (int x=4; x<number.length; --x)
System.out.println(number [x]+ " ");
}

最佳答案

问题出在下面的逻辑上

for (int x=4; x<number.length; --x)

当初始 x= 4 时满足条件 x<number.length因为 4<5然后 x 值变为 3 下一次出现 3<5 也满足.....当 x 值变为 0 然后 0出现问题现在 x 值变为 -1 然后 -1number[-1] 给你 ArrayIndexOutOfBoundsException 该数组包含数据从第 0 个位置到元素数量-1位置

您可以使用以下逻辑代替该逻辑

for (int x=number.length-1; x>=0; --x)
System.out.println("Index..."+x+"..."+number [x]+ " ");
}

关于java - 是什么导致这个 ArrayIndexOutOfBoundsException 与一个简单的 "for"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8339803/

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