packagebobo;publicclassSum_while{publicstaticvoidmain(Stringargs[]){inti=2;intsum=1;while(i<=100){sum=sum*i;i++;}System.out.println("sum="+sum);}}...

展开全部
收起
6回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • Jose

    17人对此回答表示赞同

    这个问题有点难哦!用到String加法和乘法。long都已经显现的无能为力了!楼上的答的好轻巧哦!就int也行?要想到是1*......*100的结果啊,很大的一个数哦!以至于超出计算机的范围!
    展开
    17
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Mika

    14人对此回答表示赞同

    你的结束时0吧!那是应该 得到的结果已经超出了INT的取值范围,

    可以用

    System.out.println(Integer.MAX_VALUE);
    了解INT 的取值范围。
    展开
    14
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 晴天

    13人对此回答表示赞同

    不会😊哼哼唧唧吗
    展开
    13
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Colton4

    12人对此回答表示赞同

    int sum=1; 错了。
    整型的最大值为2的32次。而1*2*3...*100=?远远超过这个值了,所以sum肯定溢出了。
    可以是用大整数BigInteger 数值类型来存储结果
    展开
    12
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 刘二喜

    5人对此回答表示赞同

    变量定义成long 试下
    展开
    5
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Victoria

    2人对此回答表示赞同

    程序用for看上去比较简洁,主要还是int的范围问题,你可以先用float或者double,做完以后变String,这样还是可以的。
    你可以试试看用int是不是超过了,如果超过了再转
    展开
    2
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部