<>生成随机数
题目:
生成100个1到6的随机整数,统计1~6每个数字出现的概率
方法一:
使用java.util.Math
Math类中有一个静态方法:random(),生成double类型的随机数(范围:[0.0~1.0) 不包括1)
Modifier and TypeMethodDescription
static doublerandom()生成double类型的随机数(范围:[0.0~1.0) 不包括1)
如何生成1~6的随机整数?
int x=(int)(Math.random()*6+1); Math.random()*6 范围是 [0.0-6.0) 不包括6 Math.random(
)*6+1 范围是[1.0-7.0) 不包括7 但是有强制类型转换double-->int,所以6.7会被转换成6
代码:
public class CreatRandom1 { public static void main(String[] args) { int[] arr1
=new int[100]; int[] arr2=new int[7]; for (int i = 0; i < arr1.length; i++) {
arr1[i]=(int)(Math.random()*6+1); arr2[arr1[i]]++; } for (int j = 1; j < arr2.
length; j++) { System.out.println(j+"数字出现了:"+arr2[j]+"次"); } } }
方法二:
使用java.util.Random
Random类中一个方法 nextInt(int bound),生成0.0到指定范围的随机整数
Modifier and TypeMethodDescription
intnextInt(int bound)生成随机整数(范围:[0.0~bound) 不包括bound)
如何生成1~6的随机整数?
Random random=new Random(); int x=random.nextInt(6)+1; random.nextInt(6) 范围:[
0.0-6.0) 不包括6 random.nextInt(6)+1 范围:[1.0-7.0)不包括7,int类型,像6.6这样的数就是6. 其他代码同上
<>如何产生其他类型的随机数,请看另一篇文章java.util.Random.