1. .获得用户的输入
  2. 计算     
  3. 3打印就行了。

 

这里用到了java.util.Scanner   具体API 

我就觉得不常用。解决问题就ok了。注意的是:他们按照流体的方式读取。而不是刻意反复读取

自己写的代码:

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; }
}

黑马入学基础测试(三)求斐波那契数列第n项,n<30,斐波那契数列前10项为 1,1,2,3,5,8,13,21,34,55的更多相关文章

  1. C# 求斐波那契数列的前10个数字 :1 1 2 3 5 8 13 21 34 55

    //C# 求斐波那契数列的前10个数字 :1 1 2 3 5 8 13 21 34 55 using System; using System.Collections.Generic; using S ...

  2. e8_4输出菲波拉契数列的前10项

    program fbnq;{输出菲波拉契数列的前10项} var a:..] of integer; i:integer; begin a[]:=; a[]:=; do a[i]:=a[i-]+a[i ...

  3. Python初学者笔记:打印出斐波那契数列的前10项

    问题:斐波那契数列(意大利语: Successione di Fibonacci),又称黄金分割数列.费波那西数列.费波拿契数.费氏数列,指的是这样一个数列:0.1.1.2.3.5.8.13.21.- ...

  4. 用php实现斐波那契数列,如: 1, 1, 2, 3, 5, 8, 13, 21, 34。用数组求出第20个数的值。

    <?php //用数组 function fib($n){ $array = array(); $array[0] = 1; $array[1] = 1; for($i=2;$i<$n;$ ...

  5. 用php实现斐波那契数列,如: 1, 1, 2, 3, 5, 8, 13, 21, 34。求出第20个数的值。

    <?php function Fibonacci($n){ if ($n <= 0) { return 0; } elseif ($n == 1) { return 1; } else { ...

  6. 0 1 1 2 3 5 8 13 21 34 求第N个, 用js实现

    function fibo(n) { var f = []; for (var c = 0; c < n; ++c) { console.log(f.join("")) f. ...

  7. Python基础(三)

    本章内容: 深浅拷贝 函数(全局与局部变量) 内置函数 文件处理 三元运算 lambda 表达式 递归(斐波那契数列) 冒泡排序 深浅拷贝 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝 ...

  8. C 语言实例 -求分数数列1/2+2/3+3/5+5/8+...的前n项和

    程序分析:抓住分子与分母的变化规律:分子a:1,2,3,5,8,13,21,34,55,89,144...分母b:2,3,5,8,13,21,34,55,89,144,233...分母b把数赋给了分子 ...

  9. 求等差数列前$n$项和$S_n$的最值

    一.方法依据: 已知数列\(\{a_n\}\)是等差数列,首项为\(a_1\),公差为\(d\),前\(n\)项和为\(S_n\),则求\(S_n\)的最值常用方法有两种: (1).函数法:由于\(S ...

随机推荐

  1. bzoj2242

    快速幂 扩展欧几里得 baby-step-giant-step 可以自行baidu 程序附部分注释 ; type link=^node;      node=record        re,wh:l ...

  2. 修改mysql 数据库密码

    第1种︰使用 mysqladmin命令 shell>mysqladmin -u root password new_password 如果忘记了MySQL的root密码,可以用以下方法重新设置: ...

  3. jQuery选择器上下文

  4. [PeterDLax著泛函分析习题参考解答]第6章 Hilbert 空间

    1. 证明满足 (6) 的范数可以由一个内积诱导出来. 这个结论属于 von Neumann. 证明: 以实线性空间为例, 取内积 $$\bex \sex{x,y}=\cfrac{1}{4}[\sen ...

  5. How to make project not set to be build

    1.BUILD->Configuration Management... 2. When you guys add new projects to the kiosk solution plea ...

  6. linux下svn使用及查看杀掉进程

    ps –aux ubuntu下安装subversion客户端: sudo apt-get install subversion svn正在checkout时候无法退出操作,shift+ctrl+t新建 ...

  7. Javascript 查找字符串中出现最多的字符和出现的次数

    <script type="text/javascript"> //查找字符串中出现最多的字符和出现的次数 var str = 'Thatwheneying its o ...

  8. leecode Binary Tree Level Order Traversal II java

    做完这道题,只能说基本功很重要,数组中套数组就不会用了,过几天吧1做了,看自己到底等没. https://oj.leetcode.com/problems/binary-tree-level-orde ...

  9. vs2010 更新jQuery智能提示包

    vs2010 更新jQuery只能提示包时,可以直接在NuGet中更新 jquery-2.1.0-vsdoc.js jquery-2.1.0.js jquery-2.1.0.min.js jquery ...

  10. 一步一步写一个简单通用的makefile(三)

    上一篇一步一步写一个简单通用的makefile(二) 里面的makefile 实现对通用的代码进行编译,这一章我将会对上一次的makefile 进行进一步的优化. 优化后的makefile: #Hel ...