Java 在不向StringArray添加更多内容的情况下添加概率
我在这些图像的网格中使用了这个Java 在不向StringArray添加更多内容的情况下添加概率,java,random,probability,arrays,Java,Random,Probability,Arrays,我在这些图像的网格中使用了这个string[]。网格是使用随机变量随机生成的。现在我使用的方法是只添加一个对象多次。但是如果两张图片是相同的,我的重新生成一张图片的算法(例如:egg tree blackcar blackcar pinkcar)不起作用,因为我检查了图片的数组索引 String bingoObject[] = { "black_car", "gray_car", "white_car", "red_car", "yel
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"
};
有没有其他方法可以获得随机数并为每个对象分配概率,而无需将它们添加到数组中更多次?这将清理并帮助我完成许多混乱的编码。我个人不知道任何分配概率的方法,但我们可以创建自己的方法。这并不是最有效的方法,但它确实创造了一种伪概率
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]);
int[]数字={1,2,3,4,5,6,7,8,9,10};
int指数=0;
随机rnd=新随机();
对于(int i=0;i<3;i++)
{
索引=索引+rnd.nextInt(数字.长度);
}
指数=指数/3;
System.out.println(数字[索引]);
在大多数情况下,这将使数组索引偏离中间位置。因此,从理论上讲,最常见的值将接近数组的中间,而边界将非常罕见
您可以将“3”值更改为您想要的任何值,该数字越高,数字应该越偏中
运行10次后,我的值为:
2,6,7,2,6,5,6,6,4,5看看这个有趣的方法,我会试试。因此,通过移动我想最有可能获得的项目,我放在了StruGrand的中间?谢谢