package com.itheima;
import java.util.Scanner;
public class Test3
{
/**
* 3.求斐波那契数列第n项,n<30,斐波那契数列前10项为 1,1,2,3,5,8,13,21,34,55
*
* @author zhulang
* @param args
*/
public static void main(String[] args)
{
/*
* 1.获得用户的输入
* 2.计算
* 3.打印就行了。
*/
int fibX = 1;
int fibY = 1;
int fibZ= 0;
int n = 0 ; //用来接收用户要求的项数
//接受用户的输入
n = getN();
if(n==1||n==2)
{
System.out.println("你要求斐波那契数列第"+n+"列的值为:->1");
}
else
{
// 计算N>2的项的斐波那契数列的值
for (int i = 1; i <=n-2; i++)
{
//用最简单的算法实现。
fibZ = fibX+fibY;
fibX = fibY;
fibY = fibZ;
}
System.out.println("你要求斐波那契数列第"+n+"列的值为->"+fibZ);
}
}
/**
* 接受用户正确输入用户 . 这里我查资料查了一会儿。java.util.Scanner我觉得不常用。要是不是因为黑马。我几乎不会
* @return 用户的正确输入
*/
private static int getN()
{
int n;
System.out.println("提示:请输入求斐波那契数列第n项的值。");
Scanner sc = new Scanner(System.in);
//让用户反复输入。直到输入成功为止
while (!sc.hasNextInt()|| (n=sc.nextInt())>=30)
{
System.out.println("输入错误:请输入求斐波那契数列小于第30项的正整数。");
sc = new Scanner(System.in);
}
return n;
}
}
求斐波那契数列
原创
©著作权归作者所有:来自51CTO博客作者光辉岁月松的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
C++斐波那契数列
C++斐波那契数列!
#include ios C语言 C -
C++实现斐波那契数列
C++实现斐波那契数列!
ios #include C语言 C -
java循环斐波那契数列 斐波那契数列for循环数组
斐波那契数列格式为:1、1、2、3、5、8、13、21、34、......,n=1和n=2的时候都是输出1
java循环斐波那契数列 i++ 斐波那契数列