永发信息网

求助:java中怎么实现按比例随机分配

答案:1  悬赏:80  手机版
解决时间 2021-12-28 16:25
  • 提问者网友:活着好累
  • 2021-12-28 05:57
求助:java中怎么实现按比例随机分配
最佳答案
  • 五星知识达人网友:平生事
  • 2021-12-28 06:26
比如有十个糖果,按照2:3:5的比例分配给三个小孩
public class luck {

public static List<String> candy = new ArrayList<String>();
public static List<String> child1 = new ArrayList<String>();
public static List<String> child2 = new ArrayList<String>();
public static List<String> child3 = new ArrayList<String>();

// 2:3:5
public static void main(String[] args) {
candy.add("糖果1");
candy.add("糖果2");
candy.add("糖果3");
candy.add("糖果4");
candy.add("糖果5");
candy.add("糖果6");
candy.add("糖果7");
candy.add("糖果8");
candy.add("糖果9");
candy.add("糖果10");
int count = 10;
for (int i = 0; i < 2; i++) {
int math = (int) (Math.random() * count);
child1.add(candy.get(math));
candy.remove(math);
count--;
}
for (int i = 0; i < 3; i++) {
int math = (int) (Math.random() * count);
child2.add(candy.get(math));
candy.remove(math);
count--;
}
for (int i = 0; i < 5; i++) {
int math = (int) (Math.random() * count);
child3.add(candy.get(math));
candy.remove(math);
count--;
}
System.out.println("child1的糖:");
for (int i = 0; i < child1.size(); i++) {
System.out.println(child1.get(i));
}
System.out.println("child2的糖:");
for (int i = 0; i < child2.size(); i++) {
System.out.println(child2.get(i));
}
System.out.println("child3的糖:");
for (int i = 0; i < child3.size(); i++) {
System.out.println(child3.get(i));
}

}

}输出结果:
child1的糖:
糖果6
糖果1
child2的糖:
糖果7
糖果2
糖果8
child3的糖:
糖果4
糖果3
糖果10
糖果5
糖果9
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯