为了账号安全,请及时绑定邮箱和手机立即绑定

请大神帮我看一下,谢谢!

public class text{

   public static void main(String[] args){

      System.out.println("**********随机数的验证**********");

      int a=10;

      double b;

      for(int i=1;i<10;){

         b=(int)(a*Math.random());

         System.out.println(b);

         if(b==5){

            break;

         }

      }

      System.out.println("至此,验证结束!");

   }

}

http://img1.sycdn.imooc.com//57b728bc0001b94004030335.jpg

  为什么该代码运行出来的是小数?我明明已经强制转换了啊!!各位路过大神求解



正在回答

3 回答

b=(int)(a*Math.random());这一行中将int类型赋值给了doulbe类型,所以最终b输出还是double类型

0 回复 有任何疑惑可以回复我~
#1

940522 提问者

我理解了,谢谢!!
2016-08-20 回复 有任何疑惑可以回复我~

因为 你的B是double 类型啊 你把整数赋给 浮点型 自动转换

0 回复 有任何疑惑可以回复我~
#1

940522 提问者

嗯,我理解了,谢谢!
2016-08-20 回复 有任何疑惑可以回复我~

 System.out.println(b); 

b是doulbe类型

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请大神帮我看一下,谢谢!

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号