求一个数的阶乘是一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!

求n的阶乘有很多种方法,可以用循环,递归,等方法

下面我们采用循环的方法来求n的阶乘;
代码编写如下:

package jiecheng;

import java.util.Scanner;

public class jiecheng {    //定义class类;
 
	public static void main(String[] args) { 
		int b;   //定义整型b;
		int a = 1;//定义整型a且赋值为1;
		@SuppressWarnings("resource")
		Scanner scan =new  Scanner(System.in);//键盘录入;
		System.out.print("请输入一个数字");//输入一个数字;
		b=scan.nextInt(); //将键盘录入的值赋给b;
		if (b>=1&&b<100){		//如果b>1且b<100;
		    for(int i = 1;i <=b;i++){ //for循环;
			a *= i;//将a*i赋值给i;
		    }
		    
		    System.out.println("阶乘为"+a);//输出阶乘为a;
		}
		else{
			System.out.println("输入的数字不正确");//否则输出的数字不正确;
		}
}}

运行的结果如下;

java写n的阶乘 java实现n的阶乘_键盘录入


小结以及编写代码遇到的问题:

输入数字后,应把键盘录入的数值赋值给b;
a*=i表示把a*i的结果赋值给i;
定义变量为int型时,应注意不能超过65535,否则将无法运算;
写完代码检查完后,开始运行,发现错误,通过百度查询,自己研究琢磨自己解决这个问题;