斐波那契数列

来源:互联网 发布:最小公倍数怎么求c语言 编辑:程序博客网 时间:2024/06/05 10:23

斐波那契数列   0 1 1 2 3 5 8 13 21...这是一个有规律的输出,在java中只要你能找到规律那么想要实现就不是那么麻烦的事情了。具体的实现方式有很多种,只要你思考后就可以尝试用不同的方式来达到想要的目的,这样既可以熟悉代码而且可以锻炼自己的思维能力,一个好的开发程序员需要有良好的思维能力和创造能力。在此基础上你可以考虑用有限的代码来实现既节省空间又节省时间的高效率的代码了。斐波那契数列规律是:当前位是前两位的数字之和,下面我们用代码来实现即可:

public static void main(String[] args) {
System.out.println("请输出你要输出的斐波那契数列的位数:");
int num=new Scanner(System.in).nextInt();//获取键盘输入的位数值(未考虑输入其他字符的异常情况)
int a=0,b=1; //创建前两位斐波那契数列的值
System.out.print(a+"、"+b+"、");//因为数字之间使用逗号分隔,那么当输出最后一位时,最后的逗号该如何去掉是一个问题
for(int i=0;i<num-2;i++){
int temp=a+b; //获取当前位的值
//通过偏移的方式,将a和b进行赋值,使a和b始终是当前位的前两位
a=b;
b=temp;
//当i与要输出的最后一位相同时,只输出数字不输出顿号
if(i==num-3){
System.out.print(temp);
}else{
System.out.print(temp+"、");
}
}

因为int类型的赋值是直接在栈中进行的,所以可以有效地节省空间,并且有效地节省了代码,同时要拓展的知识点就是,如果是要去掉字符中的后几位时,可以使用StringBuffer中的 delete(int start,int end)方法。当然要理解一下StringBuffer的存储方式和String有什么不同,并且要知道String、StringBuffer、StringBuilder的区别和联系。

0 0
原创粉丝点击