当前位置: 首页 > news >正文

Java小白入门200例23之阶乘计算

作者简介

作者名:编程界明世隐
简介:CSDN博客专家,从事软件开发多年,精通Java、JavaScript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注,期待与您一起学习、成长、起飞!

在这里插入图片描述

引言

很多Java初学者问我,新手明明很用心、很努力学习的Java知识,转头又忘记了,很让人犯愁,小白如何能够快速成长、成为大牛呢?
其实要成为大神的技巧只有一个:“多学多练”,于是明哥就整理了比较典型的练习实例,通过练习能够快速提升编码技巧和熟练度,让你在成为大佬的路上一去不复返(切记要亲手练习哦)!

导航

✪ Java小白入门200例系列目录索引
◄上一篇  22.计算数字的幂
►下一篇待更新     

方案1

用 for 循环计算

package demo.demo23;public class Test1 {public static void main(String[] args) {int res = new Test1().doFactorial(5);System.out.println("阶乘计算结果:"+res);}public int doFactorial(int n) {int result = 1;if (n < 0) {return -1;// 返回-1,说明传入数据不合法}if (n == 0) {return 1;}for (int i = 1; i <= n; i++) {result *= i;}return result;}
}

方案2

用 while 循环计算

package demo.demo23;public class Test2 {public static void main(String[] args) {int res = new Test2().doFactorial(5);System.out.println("阶乘计算结果:"+res);}public int doFactorial(int n) {int result = 1;if (n < 0) {return -1;// 返回-1,说明传入数据不合法}if (n == 0) {return 1;}while(n>0){result *= n;n--;}return result;}
}

方案3

用递归来计算

package demo.demo23;public class Test3 {public static void main(String[] args) {int res = new Test3().doFactorial(5);System.out.println("阶乘计算结果:"+res);}public int doFactorial(int n) {if (n < 0) {return -1;// 返回-1,说明传入数据不合法}else if (n == 0) {return 1;}else if(n == 1){return 1;}//递归return n * doFactorial(n-1);}
}

小结

这节总结了“阶乘计算”,希望能对大家有所帮助,请各位小伙伴帮忙 【点赞】+【收藏】+ 【评论区打卡】, 如果有兴趣跟小明哥一起学习Java的,【关注一波】不迷路哦。

评论区打卡一波让我知道你,明哥会持续关注你的学习进度哦!

导航

✪ Java小白入门200例系列目录索引
◄上一篇  22.计算数字的幂
►下一篇待更新     

热门专栏推荐

1.Java小游戏系列(俄罗斯方块、飞机大战、植物大战僵尸等)
2.JavaWeb项目实战(图书管理、在线考试、宿舍管理系统等)
3.JavaScript精彩实例(飞机大战、扫雷、贪吃蛇、验证码等)
4.Java小白入门200例
5.从零学Java、趣学Java、以王者荣耀角度学Java

另外

为了帮助更多小白从零进阶Java工程师,从CSDN官方那边搞来了一套 《Java 工程师学习成长知识图谱》,尺寸 870mm x 560mm,展开后有一张办公桌大小,也可以折叠成一本书的尺寸,原件129元现价 29 元先到先得,有兴趣的小伙伴可以了解一下

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-35242.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

2021制造业数字化案例大会暨探营海尔数字化创新”在青岛盛大开幕

5月29日&#xff0c;“2021制造业数字化案例大会暨探营海尔数字化创新”活动在青岛成功举办。本次活动由由数字产业创新研究中心主办&#xff0c;锦囊专家、首席数字官、承办&#xff0c;海尔集团、山东省CIO联盟、青岛CIO联盟协办&#xff0c;邀请海尔集团的多位数字化高管和十…...

2021牛客暑期多校训练营5

B、Boxes 题目大意 你有nnn个盒子&#xff0c;每个盒子内存在可能有黑球和白球中的一种&#xff0c;打开每个盒子都有一个代价wiw_iwi​&#xff0c;你还有一次询问裁判的机会&#xff0c;当然询问裁判代价为CCC&#xff0c;你需要告诉裁判这nnn个盒子每个盒子里面的球颜色&a…...

MySQL数据库从小白到小菜04

MySQL数据库从小白到小菜04MySQL进阶补充插入聚合查询COUNTSUMAVGMAXMINGROUP BYHAVING联合查询内连接外连接MySQL进阶补充 插入 在表中插入数据时用的是INSERT&#xff0c;在MySQL中&#xff0c;是可以插入(查找结果表)的数据&#xff0c;但是结果表每一列的顺序类型都必须与…...

Java学习路线图//Java、Java学习路线、Java自学、Java经验分享、经验分享、资源分享

今天整理了群里大佬们的实践经验成文为学习路线图&#xff0c;目的是帮助后来者高效的学习Java。 该路线图在保留了文章的核心架构外&#xff0c;也做了一些优化&#xff0c;包括&#xff1a; 更详细的学习内容。更精确的学习时间。优化学习方法&#xff0c;避开前端知识。及…...

Linux高级存储管理

Linux高级存储管理1.lvm定义1.1 逻辑卷2.lvm的建立3.lvm的拉伸4. lvm缩减5.lvm快照6.lvm设备的删除7.管理vdo设备1.lvm定义 1.1 逻辑卷 逻辑卷主要适用于解决存储空间扩展问题&#xff0c;逻辑卷可以利用软件实现无限扩展。LVM可以实现把新的物理分区重组成物理卷&#xff0c…...

2021-06-11 VMware centos7 无线网络配置

一、虚拟机设置 VMware界面最上面&#xff0c;选择虚拟机->设置&#xff1a;将网络连接改为桥接模式&#xff0c;如下图所示&#xff1a; 二、查看主机DNS地址 winR 输入cmd&#xff0c;启动命令行界面&#xff0c;输入ipconfig/all&#xff0c;查看主机DNS服务器地址&#…...

Anime+Vue<svg画线动画>从安装到入门使用

1.安装Anime并全局使用 npm install animejs --saveimport anime from "animejs";2.在阿里巴巴矢量图标库复制&#xff08;或者下载&#xff09;svg到页面中,注意&#xff1a;画线动画svg图标stroke属性必须有颜色值。不然看到个毛线! <template> <div> …...

2021多校第二场F 简单计算几何模板(球体相交体积)

简单板子题题意代码题意 [原题链接](https://ac.nowcoder.com/acm/contest/11253/F) 大致题意&#xff1a; 有A&#xff0c;B&#xff0c;C&#xff0c;D四个点&#xff08;三维坐标&#xff09;和k1&#xff0c;k2两个常数 在空间上取一点P1使 |AP1|/|BP1|k1 &#xff08;所有…...

解决Ambari启用Kerberos后HDFS/YARN/SPARK等页面无法打开问题

Ambari启用Kerberos认证后HDFS/YARN/SPARK等相关的组件的web页面都无访问了&#xff0c;提示要登录&#xff0c;401: Authorization required。 Ambari版本2.7.3.0 这个问题&#xff0c;可以通过两个办法解决 配置本机的kerberos认证&#xff0c;登录可以访问的user配置组件服…...

NoSQL NewSQL

OldSQLNewSQLNoSQL分类关系型关系型非关系型非关系型应用场景交易型&#xff1a;实时&#xff0c;面向应用&#xff0c;关注热数据交易型&#xff1a;实时&#xff0c;面向应用&#xff0c;关注热数据分析型&#xff1a;非实时&#xff0c;面向统计分析&#xff0c;关注全部数据…...

BUUCTF 逆向工程(reverse)之Java逆向解密

程序员小张不小心弄丢了加密文件用的秘钥&#xff0c;已知还好小张曾经编写了一个秘钥验证算法&#xff0c;聪明的你能帮小张找到秘钥吗&#xff1f; 注意&#xff1a;得到的 flag 请包上 flag{} 提交 下载好题目后&#xff0c;发现它是个以.class为后缀的。所以用JD-GUI打开这…...

Javascript ES6中export与import指令使用说明

javascript ES6 支持模块化编程&#xff0c;模块是独立的文件js文件&#xff0c;该文件内部的所有的变量与函数都是局限在该模块内部&#xff0c;外部模块无法访问&#xff0c;如果需要在调用的模块之内使用这些符号&#xff0c;模块内部的变量与函数必须设置为输出。符号的输出…...

C语言-知识

1、数据以补码形式存储&#xff0c;正数为本身&#xff0c;负数为反码1 2、float类型无法准确和一个数比较是否相等&#xff0c;只能用float和一个数相减的绝对值在某个区间内来确定相等。 3、字符串常量&#xff1a;双引号引起来的一个或多个字符。 #define 在程序预编译时&am…...

用 Python 进行游戏开发

1. pgzero python在各个领域都有着丰富的第三方库,pygame是python在游戏领域的应用库,可以用来开发各种不同的游戏。但是对于初学者来说,还是存在一定的门槛。 而今天要和大家分享的pgzero(pygame zero)是在pygame基础上做了进一步的封装,使得设计一款游戏十分的方便,…...

Centos7启动Eclipse Ditto项目

Centos7启动Eclipse Ditto项目1.安装Oracle VM VirtualBox虚拟机&#xff0c;并安装centos7详细安装记录2.安装Docker3.Eclipse Ditto1.安装Oracle VM VirtualBox虚拟机&#xff0c;并安装centos7详细安装记录 详见win10安装oracle vm virtualbox&#xff0c;并安装centos7详细…...

C语言之重定向和文件(更新中)

一、C程序中要包含stdio.h头文件才可以直接使用putchar()、getchar()函数、printf()函数&#xff0c;scanf()函数&#xff0c;它们都是C语言标准I/O包的成员。 二、ANSI C 和后续的C标准都规定输入是缓冲的。缓冲区的大小取决于系统&#xff0c;常见大小512字节和4096字节。 缓…...

开发手札:git日常抽风记录

今天一大早代码提交不上github&#xff0c;各种方法解决不了&#xff0c;虽然最终不知道是否根治解决了&#xff0c;但是起码目前没问题&#xff0c;所以记录一下。 今天来公司三台开发机&#xff08;两台window、一台macos&#xff09;全部ssh connect timeout errorcode 22或…...

链表 + 数组模拟链表

链表的指针实现 1.指针 #include<iostream> using namespace std; int main(){int a 5;int *p; // int 型的指针double *q; //double 型的指针p &a;// cout << p 指向 acout << *p << endl; //间接输出 areturn 0; }2.申请动态内存&#xff08…...

vue 实现两级表头表格下载

首先需要引用两个js Blob.js 对应第一个 Export2Excel.js 对应第二个 /* eslint-disable */ /* Blob.js* A Blob implementation.* 2014-05-27** By Eli Grey, http://eligrey.com* By Devin Samarin, https://github.com/eboyjr* License: X11/MIT* See LICENSE.md*//*glo…...

Laravel ORM 订单 分表

Laravel ORM 订单 分表创建数据 简介数据库表用户表订单表订单商品表示例ORM新建 `_Model.php`文件。作为基类`Order.php` 订单模型继承_Model`OrderGoods.php` 订单商品继承_Model控制器订单入库访问简介 开发项目,经常碰到订单量暴增的问题,简单点处理,需要给订单表做分表…...

2-6.JAVA三大框架

Spring MVC 1、用户发送请求至前端控制器DispatcherServlet。 2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找)&#xff0c;生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherS…...

Centos操作操作系统下安装mariadb数据库管理系统

1.查看是否安装mariadb rpm -qa|grep maridb 这种情况表示已安装,直接执行第三步&#xff0c;反之若没有任何东西&#xff0c;则执行第二步 2.安装mariadb yum install mariadb-server yum install mariadb yum install mariadb-devel 3.启动mariadb service mariadb start 4.…...

.detach().cpu().numpy()该段代码的作用

detach(): 返回一个新的Tensor&#xff0c;但返回的结果是没有梯度的。 cpu():把gpu上的数据转到cpu上。 numpy():将tensor格式转为numpy。 如图所示&#xff1a; out logits.detach().cpu().numpy()...

VISSIM二次开发(Python)大作业总结2

VISSIM二次开发&#xff08;Python&#xff09;&大作业总结2 写在前面 前一小节已经概括了基本所有这次使用的二次开发的知识&#xff0c;在这一小节&#xff0c;我们主要介绍本文对.att文件的读取和绘图以及分析的工作。 在这一部分我们将展开对这一部分的介绍&#xf…...

Python学习日记3

今天换了一个视频资源学习&#xff0c;因为发现之前的教学视频讲的是python2&#xff0c;python2跟现在的python3差别很大&#xff0c;所有换了一个平台学习。 今天学习内容主要是把python重新从头看了一遍&#xff0c;重新学习了一下&#xff0c;补充了关系运算符的知识&…...

Android FileProvider 应用间共享媒体资源

先参考以下两个文档&#xff1a; 官网介绍&#xff1a;https://developer.android.google.cn/training/data-storage/use-cases TX 介绍&#xff1a;https://developers.weixin.qq.com/community/develop/doc/0004886026c1a8402d2a040ee5b401 然后基于以上的文档做一个例子介…...

express框架rmvp的使用

文章目录前言一、RMVP是什么&#xff1f;二、搭建基本服务1.构建服务器server.js基本组成2.router文件2.1、如何实现数据的获取GETPOSTPUTPATCHDELETE2.2 如果想要不区分请求方式,一律接收2.3 做rmvp的抽离,抽离controller三、渲染知识补充前端请求静态资源目录&#xff08;快&…...

【Android 11】使用Android Studio调试系统应用五):编译Settings 模块、解决编译错误

文章目录 1. 篇头语2. 系列文章3. 关联Git4. 完善Settings的依赖4. 1 Android.bp回顾4.2 提取出所需androndx支持库4.2.1 依赖列表(android.bp)4.2.2 转换后的列表(build.gradle)4.2 提取出所需aar库4.3 提取出依赖的本地jar包4.3.1 查找本地jar包的位置4.3.2 所需jar列表(ando…...

出现了,Mac也可以玩的简单扫雷(1.0版本)

总体思路: 1.随机生成雷区 2.将每一个方块旁边有几个雷的数量算出来 3.不断的输入想要翻的方块 4.判断是否输赢 5.改变此方块的状态 直接上代码: #include <iostream> #include <ctime> #include <chrono> //计时头文件 #include <string.h> …...

python数据类型的性能分析

python数据类型的性能分析 本文主要对Python两种内置数据类型list 和 dict上各种操作的大O数量级进行分析 list与dict的比较 list类型各种操作&#xff08;interface&#xff09;的实现方 法有很多&#xff0c;如何选择具体哪种实现方法&#xff1f; 总的方案就是&#xff0…...

dbc2000 注册机|dbc2000 注册码注册机下载

点击下载来源&#xff1a;dbc2000 注册机 dbc2000 注册机是同名源程序软件的注册机软件&#xff0c;该源程序软件是一款应用于数据库搭建以及数据写入的数据库架设工具&#xff0c;它拥有强大的数据写入功能&#xff0c;在作为应用程序使用时&#xff0c;它不仅可以充当数据属性…...

秋招面经第八弹:网易二面-数据开发工程师

秋招第八弹&#xff1a;网易二面-数据开发工程师 写在最前&#xff1a;秋招以来一直在冲&#xff0c;因为事情比较多&#xff0c;对于笔试面试一直没有复盘&#xff0c;现在靠仅存的记忆把面试的一些问题记录下来&#xff0c;尽可能记录出能回忆到的问题&#xff0c;但可能记的…...

安卓课程格子APP

https://download.csdn.net/download/weixin_57836618/73810452 功能演示&#xff1a; 查看所有课程 点击主页面空白处即可添加课程 添加课程之后查看课程 查看双周课程 查看单周课程 6.查看课程详情...

强化学习——格子世界

强化学习——格子世界 项目源码地址&#xff1a;https://gitee.com/infiniteStars/machine-learning-experiment 1. 实验内容 2. 实验代码 import numpy as np import matplotlib.pyplot as plt from matplotlib.table import Table from xml.dom.minidom import Document #手…...

华为机试 - 跳格子游戏

目录 题目描述 输入描述 输出描述 用例 题目解析 算法源码 题目描述 地上共有N个格子&#xff0c;你需要跳完地上所有的格子&#xff0c;但是格子间是有强依赖关系的&#xff0c;跳完前一个格子后&#xff0c;后续的格子才会被开启&#xff0c;格子间的依赖关系由多组st…...

php 爬课程表信息,Ruby爬取教务系统生成课程表

我为什么要虐自己最近觉得课程格子广告越来越多&#xff0c;乱七八糟的东西越来越多&#xff0c;完全失去了一开始的存在价值&#xff0c;并且没有电脑端app&#xff0c;想查看课程必须拿出手机&#xff0c;而我使用电脑频率要比手机高&#xff0c;所以才有了折腾的动力。于是我…...

android 课程表 ui,UICollectionViewLayout实现课程表布局

因为项目中有课程表的相关模块&#xff0c;第一时间想到用UICollectionView。然而后期的需求越来越复杂&#xff0c;每个格子需要展示的内容越来越多&#xff0c;所以不得不寻找合适的解决方案。最后发现自定义UICollectionViewLayout可以实现我的需求。先放效果图&#xff1a;…...

Android自定义View课程表,Android 自定义View课程表表格

自己闲下来时间写的一个课表控件使用的自定义LinearLayout 里面View都是用代码实现的 最终效果如下图 写的可能有问题希望多多指点创建一个自定义LinearLayout 控件用来装载课程的信息和课程的周数 和节数大概的布局三这样的根据上面的看来觉得总体布局我分了两个 上面的星期是…...

java课程设计设计_java课程设计

1. 团队课程设计博客链接https://www.cnblogs.com/choco1ate/p/12172223.html2.本组课题及本人任务本组课题&#xff1a;泡泡堂(炸弹人)游戏本人任务&#xff1a;Box类(游戏地图中的每个方格)Bomb类(游戏过程中的)游戏玩家输赢信息的文件储存3.需求分析Box类&#xff1a;该类为…...

《课程格子》的一个笔试题目

题目如下&#xff0c;感觉很适合喜欢琢磨的程序员&#xff0c;也是考验你编码风格的时候。 Lets make a tower defense game&#xff08;塔防游戏):1. You have 1 tower, with H health and D dps(damage per second).2. There are n attackers, each with h_i health and d_i …...

Android仿照超级课程表 or 课程格子 一键提取课表功能(方正系统)

参考文章http://blog.csdn.net/sbsujjbcy ,本文仿照‘ 安卓弟 提供的android 项目实战——打造超级课程表一键提取课表功能文章&#xff0c;对他的代码进行了修改和补充&#xff0c;为什么要修改呢&#xff1f;原因是安卓弟的那个源码版本过于老旧&#xff0c;很多方法已经过…...

高德地图——步行导航

高德地图——步行导航 插件&#xff1a;pluginAMap.Walking 步行导航和驾驶导航几乎是一样的&#xff0c;唯一的不同便是导入的插件不同&#xff0c;步行导航的全程都是蓝色的&#xff0c;而驾驶导航线会有红色拥堵&#xff0c;绿色通畅的颜色。 <!DOCTYPE html> <…...

ceph块存储在线扩容

记录&#xff1a;339 场景&#xff1a;在CentOS 7.9操作系统上&#xff0c;部署ceph-13.2.10集群。应用ceph块设备(ceph block device)&#xff1b;主要是创建ceph块存储和在线扩容相关操作。 版本&#xff1a; 操作系统&#xff1a;CentOS 7.9 ceph版本&#xff1a;ceph-1…...

git服务器更换IP地址后本地仓库设置

git 服务器可能会随时面临更换地址的情况&#xff0c;那么本地仓库如何与之同步呢? 1、首先打开git 项目根目录&#xff0c;打开.git文件夹&#xff08;一般是隐藏文件夹&#xff09; 2、在 .git文件夹下 找到 config文件 并打开更改为新的服务器IP 3、至此结束&#xff0c;重…...

有哪些办法可以将ip地址更换?

日前&#xff0c;网络上热热闹闹的在讨论关于网络推广&#xff0c;互联网宣传&#xff0c;品牌推广这些话题。大家纷纷思考在互联网推广中到底需要用到什么软件&#xff0c;这呀那呀的一大堆。但是我看见大家遇见的最做的一个问题&#xff0c;就是在互联网宣传推广的时候遇到的…...

腾讯云服务器无限更换ip,腾讯云服务器免费更换IP额度不足利用弹性IP地址更换...

我们如果有在使用腾讯云服务器的朋友应该是清楚的&#xff0c;腾讯云服务器目前可以免费更换IP地址&#xff0c;当我们服务器IP地址被封或者被攻击的情况下&#xff0c;可以利用云服务器面板自带的更换公网IP地址重新给服务器和网站换一个新的公网IP地址&#xff0c;这一点上还…...

win7打印机服务器修改ip,win7系统电脑更换IP地址后打印机不能打印文件了的解决方法...

很多小伙伴都遇到过win7系统电脑更换IP地址后打印机不能打印文件了的困惑吧&#xff0c;一些朋友看过网上零散的win7系统电脑更换IP地址后打印机不能打印文件了的处理方法&#xff0c;并没有完完全全明白win7系统电脑更换IP地址后打印机不能打印文件了是如何解决的&#xff0c;…...

如何快速更换ip地址?

从事网络相关工作的工作人员应该知道什么是IP地址&#xff0c;大多数人在访问网站时都受到限制。这个IP限制无处不在&#xff0c;所以这个时候需要换个IP来访问。有些爬虫防封切换IP地址&#xff0c;如何快速更换IP地址&#xff1f; IP地址是怎么来的&#xff1f; 一、路由器拨…...

更换服务器IP有哪些步骤,如何操作。

我们都知道&#xff0c;上网是需要有IP地址的&#xff0c;IP地址是每个计算机的标识&#xff0c;有了IP地址&#xff0c;我们才可以找到指定的计算机。租用服务器时&#xff0c;IDC运营商会提供服务器的IP给你。但随着网站的发展或者服务器商的不靠谱&#xff0c;我们可能需要更…...

zabbix server更换IP地址

zabbix server更换IP地址的步骤 1. 将zabbix_server的IP地址 修改为172.16.29.228&#xff1b;首先&#xff0c;进入zabbix server的配置文件&#xff0c;将IP修改我们要配置的IP地址&#xff0c;修改的内容如下&#xff0c;然后重启zabbix server服务&#xff1a; 2. 此时&…...