java从键盘输入数据斐波那契数_java——IO键盘输入



------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

每天进步一点点,以下的是我基础测试时的试题分析总结。

第二题:求斐波那契数列第n项,n<30,斐波那契数列前10项为 1,1,2,3,5,8,13,21,34,55

个人认为本题的难点在于如何从键盘接收一个两位以上的整数,而不是被当做多个字符对待。开始的时候做出来只能输入0-9的数据,当超过两位数时虚拟机会把它当做两个字符对待,这就在调试程序时候发现了问题所在,我只想到了用逐行读取然后简析为整数的方式来解决,大家可以集思广益(我也是初学者)

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

public class Test2 {

//此处提示需要抛出异常,但是键盘输入时是如何造成异常的呢?希望可以得到老师的帮助

public static void main(String[] args) throws IOException {

//定义一个字符缓冲流,从键盘读取数字

BufferedReader bfr=new BufferedReader(new InputStreamReader(System.in));

//定义一个循环,以便功能的重复执行

while(true)

{

//给用户功能提示

System.out.println("请输入一个小于30的整数:");

//将键盘读入的一行数据(回车键之前的所有数字算作一个数字)简析成一个十进制整数

int ch=Integer.parseInt(bfr.readLine());

//根据提示要求n<30,给输入参数设置定义域

if(ch>30||ch<1)

{

System.out.println("请重新输入");

//如果输入数据超出设置范围,结束本次循环,继续下次循环

continue;

}

//调用getFunction方法求斐波那契数列第n项并输出。

System.out.println("斐波那契数列第"+ch+"项为:"+getFunction(ch));

}

}

//定义一个方法,实现求斐波那契数列第n项的功能

public static int getFunction(int x)

{

//设置初始值

if (x==1)

{

return 1;

}

//设置初始值

if (x==2)

{

return 1;

}

//递归调用

int temp=getFunction(x-1)+getFunction(x-2);

return temp;

}

}

这样子就可以每次回车输入一个数字。

记录下学习生活中每次遇到的问题

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值