JAVA 生成随机数两种方式

 博客网站地址:

http://xiaohe-blog.top

1、Math.random()

Math.random()生成的是0.0~1.0的小数(不包括1.0哦),如果你想要的正好就是小数,那么直接乘以一个值就好了

例如:生成 [0.0,100.0) 的double数

但是大部分情况下,都是生成一个整数,所以这时候我们就要用到类型转换,将生成的double转换成int值。

注意是:

int a = (int)(Math.random() * 100);
这种方式是将生成的0~1先乘以100,再将这个数变成int

而不是:

int a = (int)Math.random() * 100;
这种方式是先将0~1.0转换成int类型,
可是0~1.0转换成int之后是0,再乘以100也还是0啊

对比:

获取指定范围的随机数:

(int)(Math.random()*(大-小+1) ) + 小

如:生成 36 ~ 79 之间的随机数

2、Random类

(Math类是数学类,他还要完成很多数学操作。可Random类专注于生成各种随机数,你说谁牛逼?)

如图,new一个Random的对象r,想生成随机数的时候调用r的方法就行了。

int a = r.nextInt(bound);
bound指的是生成随机数的范围:[0,bount)

生成指定范围的随机数:

r.nextInt(大-小+1)+小;

如:生成 36 ~ 79之间的随机数

r.nextInt(79-36+1)+36;

可以看到,这个类是没有直接生成字符的方法的。这时候就需要生一个整数,再强转为char 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值