代码如下:
import java.util.Scanner;
public class Factorial {
public static void main(String[] args) {
System.out.println("---开始---");
Scanner input = new Scanner(System.in);
int i ;
int j;
int sum = 1;
System.out.print("请输入要阶乘的数字:");
i = input.nextInt();
j = i;
while (i >= 1) {
sum *= i;
i--;
}
System.out.println(j+"的阶乘为:"+sum);
}
}
代码测试,输入5,6,7,8 这些都没问题,算出来都是对的
但是输入100,99之类的 得出来结论是0
是咋回事呢?如图
大兄弟,你需要对基础数据类型进行学习啊。。。int的取值范围。。。
修改下栗子
结果是