求一个数的阶乘是一个正整数的阶乘(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("输入的数字不正确");//否则输出的数字不正确;
}
}}
运行的结果如下;
小结以及编写代码遇到的问题:
输入数字后,应把键盘录入的数值赋值给b;
a*=i表示把a*i的结果赋值给i;
定义变量为int型时,应注意不能超过65535,否则将无法运算;
写完代码检查完后,开始运行,发现错误,通过百度查询,自己研究琢磨自己解决这个问题;
更多推荐
Java代码实现n的阶乘
发布评论