帮我看看这个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
错在什么地方啊
展开
 我来答
酒里香
2009-04-15 · TA获得超过409个赞
知道小有建树答主
回答量:263
采纳率:0%
帮助的人:161万
展开全部
方法没错,只是当到100阶乘时超出了,int整数类型的范围,所以输出结果为0。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
巨广臻幸0W
2009-04-15 · TA获得超过685个赞
知道小有建树答主
回答量:402
采纳率:0%
帮助的人:0
展开全部
因为m是int类型 求100!早就溢出了 你应该换成double类型保险些
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
congwang0517
2009-04-15
知道答主
回答量:5
采纳率:0%
帮助的人:0
展开全部
我刚调试了一下,m循环到30多次就已经超出int的范围了,所以就自动为0.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式