1 1 2 3 5 8 13 21 34规律:一个数据等于前两个数之和.用java做,输入一个数据n,计算斐波那契数列(Fibonacci)的第n个值.

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 05:25:35
1 1 2 3 5 8 13 21 34规律:一个数据等于前两个数之和.用java做,输入一个数据n,计算斐波那契数列(Fibonacci)的第n个值.

1 1 2 3 5 8 13 21 34规律:一个数据等于前两个数之和.用java做,输入一个数据n,计算斐波那契数列(Fibonacci)的第n个值.
1 1 2 3 5 8 13 21 34
规律:一个数据等于前两个数之和.
用java做,输入一个数据n,计算斐波那契数列(Fibonacci)的第n个值.

1 1 2 3 5 8 13 21 34规律:一个数据等于前两个数之和.用java做,输入一个数据n,计算斐波那契数列(Fibonacci)的第n个值.
import java.util.Scanner;
public class Fibonacci {
private int fibonacciArrLength = 0;// 斐波那契数组长度
public boolean setFibonacciArrLength() {
Scanner in = new Scanner(System.in);
boolean b = false;
try {
fibonacciArrLength = in.nextInt();
if (fibonacciArrLength == 0) {
System.out.println("长度不能为0");
b = true;
}
} catch (java.util.InputMismatchException e) {
System.out.println("error 请输入数字");
b = true;
}
return b;
}
public int[] fibonacciArr() {
int[] fibonacciArr = new int[fibonacciArrLength + 1];
for (int i = 0; i < fibonacciArr.length; i++) {
if (i < 2) {
fibonacciArr[i] = i;
} else {
fibonacciArr[i] = fibonacciArr[i - 1] + fibonacciArr[i - 2];
}
}
return fibonacciArr;
}
public static void main(String[] args) {
Fibonacci fi = new Fibonacci();
boolean pd = false;
do {
System.out.print("请输入数列长度");
pd = fi.setFibonacciArrLength();
} while (pd);
System.out.println("长度为" + fi.fibonacciArrLength + "的数组:");
int[] arr = fi.fibonacciArr();
for (int i = 1; i < arr.length; i++) {
System.out.print(arr[i] + "\t");
}
}
}
copy以后直接运行就行了 javaSE 1.6