代码如下
/*
斐波那契数列:斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8,
13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,
10946,17711,28657,46368……
需求升级:接收用户在控制台上输入的正整数,求从0到该正整数之间的所有
斐波那契数列
*/
//分析:首先看这些数找到他的规律
//看以上数字的排列,可以知道,从第三个数开始,后面那一个数就等于前两个数之和
//由此可以知道,要想输出斐波那契数列的值,你需要两个盒子,一个盒子用来存放
//斐波那契数列当前数字的盒子,另一个盒子用来存放斐波那契数列上一个数字
//由上述的分析,就可以开始编码了
//首先,你得先从用户的键盘输入获取用户输入的一个正整数
//然后,设置一个for循环,因为斐波那契数列第一项为0,所以for循环的初始化表达式
//就从0开始,以用户输入的正整数为条件表达式的边界值
//第一项和第二项为0和1这是固定死的
Scanner s=new Scanner(System.in);
System.out.println("请输入一个正整数:");
int num=s.nextInt();
System.out.println("------------------");
int box=0;//存放斐波那契数列的盒子
int sum=0;//存放斐波那契数列上一个数的盒子
for(int i=0;i<=num;i++){
if(i<2){
box=i; //0 1 获取斐波那契数列前两项的数字
}else{//i>=2的情况下:
box+=sum; //1 2 3 5 8 求出斐波那契数列当前数字
sum=box-sum;//求出斐波那契数列当前数字的前一个数字
}
System.out.println("斐波那契数列前20项中第"+i+"项为:"+box);
}
因为我是一个初学者,这代码是我刚学完控制语句后找的题目练习的,所以这里就单纯的用到了for循环来实现,这也是一个经典的for循环案例,java学的东西还有很多很多,就怕学了后面的就忘了前面的,因此打卡记个笔记,以免忘记
上面有很多的分析,这是作为一个初学者视角的分析,我认为,java开发重要的是一个思路,就算你学的东西再多,技能越广,没有对应的分析能力,思考能力,那也是白搭,所以,我现在学的每一步,做的每一道题目,都要一步步写上我的解题思路,想要建成一个稳定的大厦,没有坚固的地基是不行的,java基础是地基的一部分,看待问题能够分析出细微的解题要点也是一方面,当然,也不可能一口吃成一个大胖子,一切都要踏踏实实,一步一步走。
这是我学习的其中一个节点,希望学习路上能有众多道友的陪伴,吾道不孤,这样在枯燥的开发过程中,也能寻求亿点乐趣了。
好了,道友们,今天就到此了,我要继续去学习去了,共勉!