帮我看看这个Java小程序

来源:百度知道 编辑:UC知道 时间:2024/06/27 08:12:38
这是一个求阶乘的程序
public class JiCheng{
int num;
void a(int x){
int m=1;
for(int i = 2;i<=x;i++)
m=m*i;
System.out.println(x+"! is"+m);
//return m;
}
public static void main(String []args){
JiCheng jc = new JiCheng();
jc.a(100);
}
}
输出结果为100!is 0
错在什么地方啊

因为m是int类型 求100!早就溢出了 你应该换成double类型保险些

我刚调试了一下,m循环到30多次就已经超出int的范围了,所以就自动为0.

方法没错,只是当到100阶乘时超出了,int整数类型的范围,所以输出结果为0。