Java打印斐波那契前N项的实现示例
作者:R.I.PKobe 发布时间:2022-12-03 21:18:10
标签:Java,斐波那契
题外
由于idea原因 用注解test无法在控制台上输入所以写死到程序里了,版本都30.9102了为什么还是这样啊,intelJ你们该反思了!!!
用intelJ IDEA的小伙伴有遇到这种测试情况吗,如果项目上有测试用例需要自己单元测试,怎么解决控制台输入问题(@test情况下),直接改main方法的那个就算了。~~
斐波那契的认识
斐波那契数列前2项为1,从第3项开始为该项的前2项和。
eg:1,1,2,3,5,8…
f(n)=f(n-1)+f(n-2)
代码参考
import org.junit.Test;
import java.util.Scanner;
import static java.lang.System.out;
/**
* ClassName:Maintest
*
* @author: zhengkw
* @description: 测试
* @date: 20/02/01下午 7:34
* version:
* @since: jdk 1.8
*/
public class Maintest {
@Test
public void printFibonacciTest() {
FibonacciSequence fibonacciSequence = new FibonacciSequence();
//打印一个斐波那契前i项
// Scanner sc = new Scanner(System.in);
// out.println("打印多少项斐波那契");
// int i=sc.nextInt();
int i =8;
for (int n=1;n<i;n++){
out.print(fibonacciSequence.fibonacci(n)+"\t\t");
}
}
}
import static java.lang.System.out;
/**
* @ClassName:FibonacciSequence
* @author: zhengkw
* @description: 斐波那契数列递归应用
* @date: 20/02/07下午 4:10
* @version:1.0
* @since: jdk 1.8
*/
public class FibonacciSequence {
/**
* @param n 项数
* @descrption: 生成第n项元素
* @return: int
* @date: 20/02/07 下午 5:03
* @author: zhengkw
*/
public int fibonacci(int n) {
if (n < 3) {
return 1;
} else {
return fibonacci(n - 2) + fibonacci(n - 1);
}
}
}
来源:https://blog.csdn.net/qq_37714755/article/details/104212704


猜你喜欢
- 前言为什么要学SpringBoot和Mybatis呢,我觉得作为一个合格的后端程序员增删改查(CRUD)肯定是要会的,而且是最基本的一项技能
- 在有些开发场景,需要对 List 对象列表进行过滤处理,并将有用的数据存放到Map中。例如:告警对象,包含告警uuid(alarmUuid)
- 前言最近遇到很有意思转换二进制的问题,有部分童鞋俨然已了解,可能也有一部分童鞋没碰到过也就不知情,这里我们来深入学习下转换二进制所带来的问题
- 背景项目中要实现横向列表的无限循环滚动,自然而然想到了RecyclerView,但我们常用的RecyclerView是不支持无限循环滚动的,
- 1、修改application.properties新建 Mapper、实体类 相应的文件夹,将不同数据源的文件保存到对应的文件夹下# te
- 在做多语言版本的时候,日期时间的格式话是一个很头疼的事情,幸好Android提供了DateFormate,可以根据指定的语言区域的默认格式来
- 本文实例为大家分享了Android ViewPager实现页面左右切换的具体代码,供大家参考,具体内容如下主界面viewpager.xml:
- 本文演示以Spark作为分析引擎,Cassandra作为数据存储,而使用Spring Boot来开发驱动程序的示例。1.前置条件安装Spar
- 前言为啥需要学Feign呢?我们先来回顾之前写的代码先来看我们以前利用RestTemplate发起远程调用的代码:这里就有几个问题:代码可读
- springboot 统一设置时区控制springboot服务的时区为东八区@SpringBootApplicationpublic cla
- Plugins摘一段来自MyBatis官方文档的文字。MyBatis允许你在某一点拦截已映射语句执行的调用。默认情况下,MyBatis允许使
- 概述不知道大家在各自项目中是如何写提供代码的commit message, 我们项目有的同事写的很简单,压根不知道提交了什么内容,是新功能还
- ViewFlipper实现文字轮播(仿淘宝头条垂直滚动广告),供大家参考,具体内容如下广告条目可以单独写成布局文件,然后在布局文件或者代码中
- 类型转换Convert.To类型()1、表达式将变量和字面值(在使用运算符时,他们都称作操作数)与运算符组合起来就得到了表达式,它是计算的基
- 什么是面向对象Java语言是一个纯面向对象的语言,面向对象的语言不仅只有Java,包括C++,PHP等面向对象的编程思想简称 OOP(Obj
- 这篇文章主要介绍了如何使用SpEL表达式实现动态分表查询,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- 在使用微服务中,单体事务注解@Transactional 就不适用了,需要采用分布式事务解决方案,本文介绍分布式事务Seata的安装。Sea
- 在进行一个表达式的计算时,先将表达式分割成数字和字符串然后利用出入栈将分割后的表达式进行中缀转后缀,再将后缀表达式进行计算得到结果(思想在上
- Spring @Cacheable指定失效时间新版本配置@Configuration@EnableCachingpublic class R
- @RequestBody与post请求的关系@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的)