gpt4 book ai didi

java - 增强的 For 循环异常

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:53:07 25 4
gpt4 key购买 nike

<分区>

在循环播放时创建了以下代码。下面的代码将 Fibonacci 值存储到一个数组中,然后使用 for 循环打印它们。

    int [] numbers;
numbers = new int[25];

numbers[0] = 1;
numbers[1] = 1;
System.out.println("Initializing the array values");

for(int i = 2; i < numbers.length; i++)
{
numbers[i] = numbers[i-1] + numbers[i-2];
}

System.out.println("Printing out Fibonacci values");

for(int i = 0; i < numbers.length; i++)
{
System.out.print(numbers[i] + ", ");
}

上面的代码工作正常。不过,我第一次将它们放在一起时,我使用了增强的 for 循环来打印出值(代码中的第二个 for 循环)。这编译得很好,但当我运行它时,我得到以下信息;

Initializing the array values
Printing out Fibonacci values
1, 1, 2, 3, 8, 34, 377, 17711, Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 34
at ArrayDemo.main(ArrayDemo.java:21)

我不明白哪里出了问题。更改第二个循环不应更改值(您会注意到斐波那契值是错误的(即缺少值))。而且我不明白为什么简单的增强 for 循环会跳过索引。现在,这没什么大不了的,因为这不是一个项目或任何东西,它只是让我烦恼,我无法弄清楚为什么要这样做。有什么线索吗?

增强的 for 循环看起来像这样;

for(int i : numbers)
{
System.out.print(numbers[i] + ", ");
}

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