1、java Random随机操作对象
Random random = new Random();
//随机产生0-9当中的一个随机整数
int num = random.nextInt(10);
2、随机获取给定数据数据
public static String randomStr(String[] arr){
if(arr != null && arr.length >0){
//获取随机下标
int index = new Random().nextInt(arr.length);
return arr[index];
}else{
return "array is empty!";
}
}
3、测试
public static void main(String[] args) {
String[] arr = {"张三","李四","王五","魔王酱"};
int f1 = 0;
int f2 = 0;
int f3 = 0;
int f4 = 0;
for(int i =0;i<100000;i++){
if("张三".equals(randomStr(arr))){
f1++;
}
if("李四".equals(randomStr(arr))){
f2++;
}
if("王五".equals(randomStr(arr))){
f3++;
}
if("魔王酱".equals(randomStr(arr))){
f4++;
}
}
System.out.println("计算出现概率:张三=["+((double)f1/100000)+"]");
System.out.println("计算出现概率:李四=["+((double)f2/100000)+"]");
System.out.println("计算出现概率:王五=["+((double)f3/100000)+"]");
System.out.println("计算出现概率:魔王酱=["+((double)f4/100000)+"]");
}
结果:
计算出现概率:张三=[0.25062]
计算出现概率:李四=[0.25021]
计算出现概率:王五=[0.24891]
计算出现概率:魔王酱=[0.24672]
测试数据显示,Random随机数为等概率随机,次数越多,概率越精准。
4、总结
利用Java自带的随机操作类,可以进行简单的随机操作!
PS:计算机产生的随机都是伪随机,无法实现真正的随机!!!!