JAVA:指定范围内随机数的产生
程序员文章站
2022-05-18 21:37:29
...
JAVA:指定范围内随机数的产生
在Java语言中则可以用math.random()l来生成随机数。Math.random()的功能是获取0~1随机数。如下面的代码,我们生成了一个0.0-1.0的随机数。
public class Random1{
public static void main(String[] args){
double random = Math.random();
System.out.print("random = " + random);
}
}
但是,有的时候我们对随机数的范围有一定的要求,比如我们想要产生一个0~9的随机数,这个时候我们发现只要在上面的Math.random()*10,然后在进行一次强制类型转换就可以得到我们想要的范围内的随机数了。例如下面的代码,我们产生了一个0.0-1.0之间的随机数ramdom和一个0-10之间的随机数random1`
public class Random1{
public static void main(String[] args){
double random = Math.random();
System.out.println("random = " + random);
int random1 = (int)(Math.random()*10);
System.out.println("random1 = " + random1);
}
}
`不过当我们想生成一个【10,100)的随机整数时,我们发现直接在Math.random()后面*100的方法并不可靠,它有可能会产生一个小于10的随机整数。其实要产生某一个范围没得随机整数可以使用下面的公式:
(int)(Math.random()**(最大数-最小数)+最小数)
所以假如我们想生成一个【10,100)以内的随机数的代码应该是
public class Random1{
public static void main(String[] args){
/*double random = Math.random();
System.out.println("random = " + random);
int random1 = (int)(Math.random()*10);
System.out.println("random1 = " + random1);*/
int random2 = (int) (Math.random()*90+10);
System.out.print("random2 = " + random2);
}
}
这样我们产生了一个【10,100)以内的随机数,其实上面产生【0,10)的随机数用的也用的是这个公式,只是因为最小值是0,因此可以直接乘以10.同理如果想产生【100,1000)以内的随机数只需要把相应的数据替换掉就可以啦,小伙伴们可以下去试试哦。下面给大家分享一下基本数据类型之间的转换的方法:
https://blog.csdn.net/qq_43825377/article/details/105295939?utm_source=app