两个数字,1和0.
要求70%几率出现1,30%几率出现0
请教java 概率问题
答案:2 悬赏:80 手机版
解决时间 2021-02-09 08:10
- 提问者网友:沉默的哀伤
- 2021-02-08 21:52
最佳答案
- 五星知识达人网友:冷風如刀
- 2021-02-08 22:19
public static void main(String[] args) {
int n=100;
String str[] = {"0","1"};
int count1=0;
for(int i=0;i
int temp = new Random().nextInt()%10;
temp=Math.abs(temp);
if(temp<7){
count1++;
System.out.println(str[1]);
}else{
System.out.println(str[0]);
}
}
System.out.println("1:"+count1);
}
int n=100;
String str[] = {"0","1"};
int count1=0;
for(int i=0;i
temp=Math.abs(temp);
if(temp<7){
count1++;
System.out.println(str[1]);
}else{
System.out.println(str[0]);
}
}
System.out.println("1:"+count1);
}
全部回答
- 1楼网友:鱼芗
- 2021-02-08 22:43
你的问题描述不清。
如果是别的数字是均等的,那把一个单独处理,别的数字分享17/20的概率。实际上是一个映射的问题。具体实现就是拿20个数字做random,然后取整,比如1->1,2、3->2,若是其它,则重新获取一个3的random,当然要把1和2给去掉
——————————————
那不就更容易了,剩下的不需要重新获取random了,直接就是3
————————————————————————
public static void main(string arg[]) {
system.out.println(getint());
}
private static long getint() {
long a = math.round(math.random() * 20);
if (a == 0 || a == 1) {
return 1;
} else if (a == 2) {
return 2;
} else {
return 3;
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯