gpt4 book ai didi

java - 简单的Java斐波那契代码问题

转载 作者:行者123 更新时间:2023-12-01 23:35:48 25 4
gpt4 key购买 nike

import java.util.Scanner;

public class Fibonacci
{
public static void main(String[] args)
{
int count;
Scanner in = new Scanner(System.in);
System.out.println("Please enter number");

count = in.nextInt();

int[] fib = new int [count];
fib[0] = 1;
fib[1] = 1;

for (int i=2; i<count; i++)
{
fib[i] = fib[i-1] + fib[i-2];
}

for(int i=0; i<count; i++)
{
System.out.print(fib[i] + " ");

}
}
}

这是我非常简单的 Fib 程序,我不明白的是为什么它总是停止一个数字。例如:

运行:请输入数字 6 1 1 2 3 5 8 BUILD SUCCESSFUL (总时间: 5秒)

运行:请输入数字 7 1 1 2 3 5 8 13 BUILD SUCCESSFUL(总计时间:5秒)

我认为在我的 FOR 循环中它应该是“(int i=2; i <= count;”

但是当我在两者中输入大于或等于,或者在 FOR 循环中输入时,它会给我一个错误

有什么建议吗?我知道这很容易被我忽略

最佳答案

您的代码给出了正确的输出。但如果您还需要一个元素,请尝试使用 count + 1 初始化数组,然后让循环运行 i <= count

public static void main(String[] args) {


int count;
Scanner in = new Scanner(System.in);
System.out.println("Please enter number");

count = in.nextInt();

int[] fib = new int [count+1];
fib[0] = 1;
fib[1] = 1;

for (int i=2; i <= count; i++){
fib[i] = fib[i-1] + fib[i-2];
}

for(int i=0; i <= count; i++){
System.out.print(fib[i] + " ");

}
}
}

关于java - 简单的Java斐波那契代码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18709483/

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