导航:首页 > 编程语言 > java概率计算

java概率计算

发布时间:2023-02-04 18:33:04

java中如何让A的输出的概率为50%B输出的概率为30%C输出的概率为20%

publicclassTest{

publicstaticvoidmain(String[]args){
doubled=Math.random();//生成一个0~1的随机数
if(d<=0.5){
System.out.println("A");//50%概率
}elseif(d<=0.8){
System.out.println("B");//30%概率
}else{
System.out.println("C");//20%概率
}
}
}

② JAVA中如何实现概率算法,比如打架小游戏,普通攻击概率为80%,暴击为20%。 谢谢啦

几率的算法,大家不信可以进游戏看看自己各种技能伤害加成是不是这样,例如鸟的大招... 觉醒+自身一共20%暴,2+4暴击套30%,这就是50%了

③ 求java算法:根据物品的数量来确定抽奖的概率(当物品数量为0时无论如何都不可能选到)

public class Lottery {

private int m = 1000;//发放奖券的数量
private int n = 2;//奖品的数量

public boolean getLottery(){
boolean isLottery = false;
double d = (double)n/(double)m;//中奖概率
double r = Math.random();//0~1之间的随机数,包括0
if(r<d){//如果随机数小于概率 那么中奖
n--;//奖品数量-1
isLottery = true;
}
m--;//奖券数量-1
return isLottery;
}

}

④ java投掷骰子,求点数的出现概率

很简单 。
int [] num = new int[3]; //数组长度为3
int diag=0; //统计出现5的次数
for(int i=0;i>3;i++){ //掷骰子三次 ,也就是三个骰子
随机数字 num[i]=(int)(Math.random()*5)+1; //随机1-6的数字
if(num[i]==5){
diag++; //当骰子等于5的时候,统计次数加1;
}
}
double a=diag/3; //骰子出现5的次数,除以骰子总数,得到概率。
System.out.println(a);

⑤ 求一段JAVA的概率算法

public class Zhuq {
public static void main(String[] args) {
List<Person> listP=new ArrayList<Person>();
listP.add(new Person("小李", "1", 200));
listP.add(new Person("小王", "2", 210));
listP.add(new Person("小赵", "3", 230));
listP.add(new Person("小孙", "4", 100));
listP.add(new Person("小钱", "5", 3));
listP.sort(new Comparator<Person>() {

@Override
public int compare(Person o1, Person o2) {
// TODO Auto-generated method stub
return (((Person)o1).count)*(Math.random()*10+1)>(((Person)o2).count)*(Math.random()*10+1)?-1:1;
}
});
System.out.println(listP);
}
}

class Person {
String personName;
String id;
int count;

public Person(String personName, String id, int count) {
super();
this.personName = personName;
this.id = id;
this.count = count;
}
@Override
public String toString() {
return "Person [personName=" + personName + ", id=" + id + ", count=" + count + "]";
}

}
//本质还是随机数

⑥ java随机生成1-100之间的数10000次,计算出88出现得概率

package zhangyw.test;

import java.util.Random;

public class T {

public static void main(String[] args) throws Exception {
int count = 0;
Random random = new Random();
for (int i = 0; i < 10000; i++) {
int value = random.nextInt(100) + 1; //nextInt方法返回的值在0-99之间,所以需要加1
if (value == 88) {
count++;
}
}

System.out.println(count / 100.0 + "%");
}

}

⑦ java程序中概率问题

用概率模型,先随机一次看取用哪个概率,随后再随机一次。代码示例如下: import java.util.Random;public class HelloWorld { public static void main(String[] args) { Random random = new Random(); double p1=0.7; //1~4的概率 double p=(...

⑧ JAVA里 用取余算概率 应该怎么算

可以通过多次结果来统计出成功率int i=0,j=0;
while(j++<100000){
if(Math.abs(ap.nextInt())% 51 <= i1)i++;
}
//成功率应该就是 i/100000.0了 ,要更精确 把循环次数增加就好~

⑨ java中概率的问题

你的问题描述不清。
如果是别的数字是均等的,那把一个单独处理,别的数字分享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;
}
}

阅读全文

与java概率计算相关的资料

热点内容
pdf转成黑白的 浏览:20
程序员为什么是单身 浏览:928
选项卡中的命令组被称为什么 浏览:261
navicatlinux破解 浏览:612
加密视频可以用采集卡吗 浏览:292
php正则表达式2 浏览:482
手机编译的c程序怎么安装 浏览:222
vue编译cdn 浏览:933
单片机矩阵键盘显示 浏览:228
约束边缘柱必须加密吗 浏览:310
android学到什么程度 浏览:375
如何加密一个小区 浏览:315
51单片机控制三相控制器 浏览:815
手机上什么解压软件可以强制解压 浏览:789
win7有自带编译器吗 浏览:548
转接器连了没有文件夹 浏览:578
二手开利螺杆压缩机 浏览:317
有php基础学java要多久 浏览:308
程序员税后工资多少可以跳槽 浏览:174
个别网站无法解析服务器的dns地址 浏览:979