代码内容
// 使用递归的方式求出斐波那契数1,1,2,3,5,8,13...,给你一个整数位置,求出它的斐波那契数是多少
import java.util.Scanner;
public class Fibonacci{
public static void main(String[] args) {
System.out.println("这是一个求出斐波那契数的程序,请输入您想要计算的数:");
int inputNum = 0;//用于接收用户输入的值
do{
Scanner myscanner = new Scanner(System.in);
inputNum = myscanner.nextInt();
if (inputNum >= 1) {//输入的数必须为大于等于1的整数
break;
}
System.out.println("输入的数必须为大于等于1的整数");
}while(true);
System.out.println("您输入的数为:" + inputNum);
A fun1 = new A();
int Sum = fun1.Fibonaccifun(inputNum);
System.out.println("斐波那契数为:" + Sum);
}
}
class A{
public int Fibonaccifun(int num){
/*
斐波那契的规律:
1、第一和第二个位置都是1
2、>=3的位置的值都是前面两个数的和
*/
if (num == 1 || num ==2) {
return 1;
}else{
return Fibonaccifun(num - 1) + Fibonaccifun(num - 2);
}
}
}
运行效果