我正在尝试将整个斐波那契数列打印到给定的位置。因此,用户可以决定要查看多少个斐波纳契序列(最多16个重复),并打印整个序列。
我当前的代码仅在您选择的位置的序列中打印数字。例如:4印2而不是0 1 1 2。
public int Fibonacci(int number){
if(number == 1 || number == 2){
return 1;
}
int fib1=1, fib2=1, fibonacci=1;
for(int count= 3; count<= number; count++){
fibonacci = fib1 + fib2;
fib1 = fib2;
fib2 = fibonacci;
}
return fibonacci;
}
这是我的主要方法:
import java.util.Scanner;
public class FibonacciPrinter
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.print("Enter an integer: ");
int input = in.nextInt();
FibonacciGenerator newNumber = new FibonacciGenerator();
for(int fibCount = 0; fibCount < input; fibCount++)
{
System.out.println(newNumber.Fibonacci(input));
}
}
}
我觉得在这里
for(int fibCount = 0; fibCount < input; fibCount++)
{
System.out.println(newNumber.Fibonacci(input));
}
你几乎肯定想要
for(int fibCount = 0; fibCount < input; fibCount++)
{
System.out.println(newNumber.Fibonacci(fibCount)); // <-- fibCount not input
}
您需要更新方法以处理零情况,例如
public int Fibonacci(int number) {
if (number == 0) return 0;
// ...
}
在Java中,约定名称Fibonacci
为,fibonacci
因为方法名是驼峰式的,以小写字母开头(按惯例,类以大写字母开头)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句