JAVA类型转换的就近原则(int)(Math.random()*100)与(int)Math.random()*100

System.out.println((int)Math.random()*100);

想要输出【0,99】的随机整数,打印(int)Math.random()*100;
可是得到的结果却是0;

明明知道Math.random()等于[0,1)的double啊,为啥结果是0?
原来,(int)转换的时候,直接把0.xxxxxxx转换为整型,也就是0了,然后用0*100结果还会是0;

怎么解决呢?只需要加一个括号,将(int)作用的范围扩大便可.

System.out.println((int)(Math.random()*100));

采用(int)(Math.random()*100) ,这样结果就会是【0,100)的double取整数转换为INT,满足要求了就。

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值