Java编写程序之输入一个数字实现该数字阶乘的计算

需求说明:

编写Java程序,输入一个数字,实现该数字阶乘的计算。一个数字的阶乘是所有小于及等于该数的正整数的积,自然数n的阶乘写作n! 。例如,5的阶乘等于1*2*3*4*5,表示为5! = 120。

实现思路:

声明变量fac、i和num,用于存储阶乘运算结果、循环变量以及用户输入的数字。

通过System.out.println()接收用户输入的数字,并为变量num赋值。

根据阶乘计算规则,使用while循环结构实现计算。

使用System.out.println ()实现格式化输出运算结果。

循环条件:! <= num
循环操作:
    fac *= i;
    i++;

实现代码:

import java.util.Scanner;

public class kkk {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int fac = 1;	//数字的阶乘运算结果
		int i = 1;		//循环变量
		int num;		//用户输入的数字
		//接收用户输入的数字
		System.out.println("请输入一个数字(1~10之间)");
		num = sc.nextInt();
		//计算该数字的阶乘
		while(i <= num) {
			fac *=i;
			i++;
		}
		System.out.println("数字"+num+"的阶乘:"+fac);
	}
}

到此这篇关于Java编写程序之输入一个数字实现该数字阶乘的计算的文章就介绍到这了,更多相关java编写数字阶乘内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java版超大整数阶乘算法代码详解-10,0000级

    当计算超过20以上的阶乘时,阶乘的结果值往往会很大.一个很小的数字的阶乘结果就可能超过目前个人计算机的整数范围.如果需求很大的阶乘,比如1000以上完全无法用简单的递归方式去解决.在网上我看到很多用C.C++和C#写的一些关于大整数阶乘的算法,其中不乏经典但也有很多粗糙的文章.数组越界,一眼就可以看出程序本身无法运行.转载他人文章的时候,代码倒是仔细看看啊.唉,粗糙.过年了,在家闲来蛋疼,仔细分析分析,用Java实现了一个程序计算超大整数阶乘.思想取自网上,由我个人优化和改进. 这个方法采用"数

  • java阶乘计算获得结果末尾0的个数代码实现

    看到题目后,分析了下, 10的阶乘就已经很大了.计算出来再得到这个末尾的0的个数,完全不现实,即使实现了也是很麻烦的. 后来想某个数的阶乘中乘积有5结尾的数字的时候就应该在结果的末尾产生一个0. 付诸实现,测试了几个, 没出错. 贴出来, 大家看看, 有问题了及时指教: 复制代码 代码如下: /**     * 求1000~10000之间的数n的阶层并计算所得的数n!末尾有多少个0?     */    public static void test2(int number){        i

  • Java编写程序之输入一个数字实现该数字阶乘的计算

    需求说明: 编写Java程序,输入一个数字,实现该数字阶乘的计算.一个数字的阶乘是所有小于及等于该数的正整数的积,自然数n的阶乘写作n! .例如,5的阶乘等于1*2*3*4*5,表示为5! = 120. 实现思路: 声明变量fac.i和num,用于存储阶乘运算结果.循环变量以及用户输入的数字. 通过System.out.println()接收用户输入的数字,并为变量num赋值. 根据阶乘计算规则,使用while循环结构实现计算. 使用System.out.println ()实现格式化输出运算结

  • 用Java编写经典小程序

    如果是刚接触或者刚学习java,练习一些基础的算法还是必须的,可以提升思维和语法的使用 1.输出两个int数中的最大值 import java.util.Scanner; public class demo { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请依次输入两个整数:a,b(以空格隔开)"); /*比较两个数的大小*/

  • 利用Java编写一个属于自己的日历

    目录 问题提出 一点提示 源码分享 问题提出 编写程序,输入年份,打印出该年的年历(12个月的),效果如下图所示. 一点提示 使用 Java 自带的 Calendar 类得到一个 Calendar 类对象,然后我们可以去得到每个月的第一天是星期几 Calendar 类不能直接 new 得到对象,需要使用 getInstance() 函数 //得到一个Calendar对象 Calendar c = Calendar.getInstance(); Calendar 类的 set 可以设置自己想要的日

  • java 输入一个数字组成的数组(输出该数组的最大值和最小值)

    一.需求分析: 1.输入一个数组----------------------------------------->程序要接收一组输入的数组,没有明确这组数组有多大 2.一个数字组成的数组-------------------------------->接收到的数组只能是数字 3.输出接收到数组的最大值和最小值-------------->得到最大和最小值 二.技术难点 1.怎么从用户输入获取到一个数字数组? 可以用BufferedReader类:从字符输入流中读取文本,缓冲各个字符,从

  • java 输入一个数字,反转输出这个数字的值(实现方法)

    如下所示: package 第四天; import java.util.Scanner; public class 数字反转 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个整数:"); int num=sc.nextInt(); int result=0;//存反转的数字 while(true) { int n=num%10

  • 利用Java编写一个出敬业福的小程序

    目录 1.前言 2.定义工具类 3.生成"福"主类 4.运行测试 5.素材图片 1.前言 “福”的由来: 姜太公封一大批神仙时,却把自己的妻子叶氏封为穷神,还告诉她说:“有福的地方,你不能去.”从此,家家过年贴福字,就是告诉穷神,我这里是有福的地方,你千万不能进来.福字,就是摆脱穷困.追求幸福的象征. 福字之所以倒贴,传说起于清代恭亲王府.那年春节前夕,大管家按例写了几个斗大的“福”字,叫人贴于王府的大门上.有个家丁目不识丁,竟将“福”字头朝下贴上.恭亲王福晋十分气恼,欲鞭罚惩戒.可这

  • 教你构建第一个Java Applet程序

    介绍 Note: 在你开始本教程之前,你必须下载downloaded 并安装installed Java SE Development Kit. Java applets像Java应用程序一样,它们的建立都是遵循相同的三个步骤-编写,编译及运行.不同 的是,它们是在一部分网页上运行,而不是在你的桌面上运行. 本文的主要目的是创建一个简单的Java applet. 为了达到这一点要遵循以下三个基本步骤: 1. 在Java中编写一个简单的applet 2. 编译Java源代码 3. 创建一个涉及到a

  • Java编写网上超市购物结算功能程序

    使用Java语言编写一个模拟网上超市购物结算功能的程序,要求程序运行后有一个图形用户界面,可供用户输入购买的各种商品相关信息,最后给出用户的购物清单及总价格. 需求分析: 1.管理员添加商品以及其价格 2.用户购买商品打印订单信息以及结算订单 代码: /* * 创建者:张俊强 * 时间:2016/5/15 * */ package SaleSys; import java.awt.*; import java.awt.event.*; import java.util.Vector; impor

  • Java如何实现通过键盘输入一个数组

    目录 如何通过键盘输入一个数组 第一种方法:(不限制输入数组的长度) 第二种方法:(限制输入的个数) 不限制从键盘输入一个数组 下面用二分查找举例 如何通过键盘输入一个数组 有时候在编写Jave的时候需要键盘输入一个数组,本小白也是看了几篇博客后才知道了如何在自己的程序中进行键盘输入,直接上代码: 第一种方法:(不限制输入数组的长度) System.out.println("请输入几个数并用逗号隔开:"); Scanner sc = new Scanner(System.in); St

  • 详解Java编写并运行spark应用程序的方法

    我们首先提出这样一个简单的需求: 现在要分析某网站的访问日志信息,统计来自不同IP的用户访问的次数,从而通过Geo信息来获得来访用户所在国家地区分布状况.这里我拿我网站的日志记录行示例,如下所示: 121.205.198.92 - - [21/Feb/2014:00:00:07 +0800] "GET /archives/417.html HTTP/1.1" 200 11465 "http://shiyanjun.cn/archives/417.html/" &qu

随机推荐