方法递归调用(java)

递归调用是迈向数据结构开发的第一步,但是如果想真正的掌握熟练递归操作,那么需要大量的代码积累。从另一个角度来说,在应用层项目开发上一般很少出现递归操作,因为一旦处理不当则会导致内存溢出问题的出现。

1.实现1到100数字的累加

public class javademo02 {public static void main(String[] args) {System.out.println(sum(100));   //1到100累加}//递归,数据累加操作,传输一个数据累加操作的最大值,而后每次进行数据的递减,将一直累加到计算数据为1public static int sum(int num){if(num == 1) {return  1;}return num + sum(num-1);    //递归调用}
}
//程序执行结果:5050

最终效果就相当于:return 100+99+98+97+···+2+1(if结束条件)

2. 计算1!+2!+3!+···+10!

public class javademo03 {public static void main(String args[]){System.out.println(sum(10));    //实现阶乘操作}public static double sum(int num) {         //递归结束条件if (num == 1){                          //返回1的阶乘return factorial(1);}return factorial(num) + sum(num - 1);       //保存阶乘结果}public static double factorial(int num){if (num == 1) {                         //定义阶乘结束条件return 1;                           //返回1*1的结果}return num * factorial(num-1);      //递归调用}
}
//程序执行结果为:4037913.0

本程序实现了指定数据范围阶乘的计算,由于阶乘的数值较大,所以只计算到10!。

实现1到100数字的累加相关推荐

  1. excel数字不能累加_如何修复不累加的Excel编号

    excel数字不能累加 If you download bank statement data into Excel, or copy numbers from a website, those nu ...

  2. 循环计算-02-0到100数字累加

    # 计算 0 ~ 100 之间所有数字的累计求和结果 # 0. 定义最终结果的变量 result = 0# 1. 定义一个整数的变量记录循环的次数 i = 0# 2. 开始循环 while i < ...

  3. 新贵 轻雅 100 数字键 numlock问题

    新贵轻雅100的键盘有问题 在开机后,会偶尔出现字母键盘区与数字键盘区的冲突问题 问题描述: numlock指示灯亮的时候,字母键盘区的IJKL等键盘均是数字,跟笔记本的数字键盘一样的排布 而按num ...

  4. 简易猜数1~100数字小游戏ovo

    初阶c语言的小程序: 如有错误,请您赐教qwq #include<stdio.h> #include<time.h>//这里需要time头文件,以便于后续产生随机种子 int ...

  5. 2、在控制台上输出1—100数字

    public class Test {// 定义类          public static void main(String[] args) {// 主函数,程序的入口             ...

  6. 进口牛羊肉抄码器厂家OCR扫数字重量累加扫码机冷库进出口牛羊肉抄码机进口冻肉抄码设备 进口牛羊肉抄码枪

    进出口牛羊肉出入库牛羊肉抄码器扫码解决方案 牛羊肉抄码进口肉抄码 冻肉抄码设备 抄码自主研发 浩瀚智能终端技术冻肉(牛羊肉)抄码器 冷库专用·出入库管理 一机搞定=扫码抄码+自动累加+打印小票 1:适 ...

  7. 使用While语句求1到100之间的累加和,输出结果,写出T-SQL语句

    DECLARE @SUM int,@count int SELECT @SUM=0,@count=1 while @count<=100 BEGIN SET @sum=@sum+@count S ...

  8. c语言 数字翻译成英文,100数字翻译成英语?

    一看你的帖子我有点晕的. 一到十:One,two,three,four,five,six,seven,eight,nine,ten 十一到二十:eleven,twelve,thirteen,fourt ...

  9. 递归-递归实现数字累加

    # 定义一个函数 sum_numbers # 能够接收一个 num 的整数参数 # 计算 1 + 2 + ... num 的结果def sum_numbers(num):# 1. 出口if num = ...

最新文章

  1. CentOS 7.4 防火墙网卡设置
  2. 用 Flask 来写个轻博客 (17) — MV(C)_应用蓝图来重构项目
  3. Java的最大优势还是跨平台么?
  4. python编程有哪些-python编程工具有哪些
  5. 不需要SAP请求号修改程序的方法
  6. MySQL创建索引跳过redo_明明我建了索引,为什么sql执行的还是这么慢?
  7. 数组扩容 java_java 数组扩容的方法
  8. Hive Hooks介绍
  9. python修改pip源脚本_修改python的pip源为国内源
  10. ROS机器人SLAM学习:自建虚拟世界与Gazebo定位与导航仿真
  11. moxa串口服务器网页版用户名密码,moxa串口服务器设置密码
  12. 二项分布的期望与方差的证明
  13. C语言每日一练——第105天:杨辉三角形
  14. airflow的xcom使用
  15. 【已解决】Latex如何打出△这个符号
  16. 如何带好一个20人团队?
  17. 伊朗加油站遭网络攻击致瘫痪、Babuk勒索软件源代码泄露|10月28日全球网络安全热点
  18. 用python玩转数据测试与作业_用python玩转数据-实验5
  19. VIP之Clipper
  20. 翻译www.djangobook.com之第四章:Django模板系统

热门文章

  1. 跳槽要达到你的期望工资时,是怎么扛住面试的?
  2. android 录音相关资料
  3. 【安装】Ubuntu20.04下安装ROS的完整过程(内含已装好ROS的虚拟机、虚拟机创建过程、ROS安装过程及全过程录屏)
  4. 青龙脚本(微信阅读带脚本)(已废)
  5. Python装逼神器,5 行 Python 代码 实现一键批量扣图
  6. 挖土机oracle,清原小型挖掘机出租施工(图文)
  7. 根据浏览器滚动条高度判断进度条显示
  8. keywords和description的正确用法
  9. mysql 16g_Mysql 16G内存参数
  10. JavaEE入门级别最全教程2--初学者必看