帮我看看这个Java小程序
这是一个求阶乘的程序publicclassJiCheng{intnum;voida(intx){intm=1;for(inti=2;i<=x;i++)m=m*i;Syst...
这是一个求阶乘的程序
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
错在什么地方啊 展开
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
错在什么地方啊 展开
展开全部
方法没错,只是当到100阶乘时超出了,int整数类型的范围,所以输出结果为0。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为m是int类型 求100!早就溢出了 你应该换成double类型保险些
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我刚调试了一下,m循环到30多次就已经超出int的范围了,所以就自动为0.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询