我在这些图像的网格中使用了string[]
。使用随机随机生成网格。现在我使用的方式只是添加一个对象更多次。但是如果两张图片相同(例如,egg-tree-blackcar-blackcar-pinkcar),我的算法可以重新生成一个,因为我检查了图像的数组索引。
String bingoObject[] = {
"black_car",
"gray_car",
"white_car",
"red_car",
"yellow_car",
"blue_car",
"pink_car",
"green_car",
"boat",
"tree",
//ADDED MORE FOR CHANCES
"black_car",
"black_car",
"gray_car",
"white_car",
"red_car",
"blue_car",
"green_car"
};
是否有其他方法可以获取randoms并为每个对象分配概率而无需将更多次添加到数组中?这样可以清理并帮助我完成大量繁杂的编码。
答案 0 :(得分:0)
我个人并不知道任何分配概率的方法,但我们可以创造自己的方式。这不是最有效的方式,但确实会产生伪概率。
int [] numbers = {1,2,3,4,5,6,7,8,9,10};
int index = 0;
Random rnd = new Random();
for (int i = 0; i < 3; i ++)
{
index = index + rnd.nextInt(numbers.length);
}
index=index/3;
System.out.println(numbers[index]);
这会使数组索引在大多数情况下偏离中间位置。因此,理论上最常见的值将接近数组的中间,而边界将非常罕见。
您可以将“3”值更改为您想要的任何值,该数字越大,数字应该越中偏。
运行10次后,我的价值是: 2,6,7,2,6,5,6,6,4,5