黑马程序员技术交流社区
标题:
输出结果为什么是0?
[打印本页]
作者:
world.net
时间:
2015-6-24 22:51
标题:
输出结果为什么是0?
class Test{
public static void main(String[]args)throws Exception{
int a=1;
for(int x=1;x<=1000;x++){
a=a*x;
}
System.out.print(a);
}
}
复制代码
作者:
wx_J25HxI5W
时间:
2015-6-24 23:40
你的需求是,要找一个数乘以另一个数等于本身,0乘以任意一个数等于0啊!
作者:
wx_J25HxI5W
时间:
2015-6-24 23:43
我错了,你这个a的值超出int范围了。
作者:
wx_J25HxI5W
时间:
2015-6-24 23:44
我错了,你这个a的值超出int范围了。
作者:
GiveUp
时间:
2015-6-24 23:46
因为超出范围了,所以,你懂得。。自己去用补码换算一下吧
作者:
bingo54
时间:
2015-6-24 23:50
double试了吗?
作者:
zlpiano
时间:
2015-6-25 00:28
阶乘到一千,这个数太大了,绝对溢出了
作者:
John_Lee
时间:
2015-6-25 06:41
int型分配的字节数应该与编译器有关吧,不同的编译器分配的字节数也许不一样把。。。你的程序是1到1000的阶乘,a的值太大超出了int范围,数据发生溢出了。。。。
作者:
进军黑马
时间:
2015-6-25 07:37
跟着学习了下, 回顾了下知识
作者:
zy18692243338
时间:
2015-6-25 09:45
d大姐,数据溢出了~~~
作者:
Diors
时间:
2015-6-25 13:35
使用BigInteger,你这里超出范围
作者:
home7192
时间:
2015-6-25 14:28
长知识了,学习一下!
作者:
EnderDBluse
时间:
2015-6-25 15:20
超出int范围了
作者:
改变
时间:
2015-6-25 15:26
我也觉得应该是溢出了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2