作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建(在Java中)一个包含指定数量的整数k(例如,50、500、1000等)的整数数组,该数组不使用库函数或集合,但包含随机数范围内(即从 1 到 k)的数字分类,具有指定的重复百分比。
我已经弄清楚如何实现随机播放,但我不确定如何最好地实现重复阈值。到目前为止我所拥有的:
static void shuffle(int[] array) {
int n = array.length;
for (int i = 0; i < array.length; i++) {
// Get a random index of the array past i.
int random = i + (int) (Math.random() * (n - i));
// Swap the random element with the present element.
int randomElement = array[random];
array[random] = array[i];
array[i] = randomElement;
}
}
然后,使用这个方法:
//Create an ascending ordered array of size k to be shuffled
int [] tempInit = new int [filesizes[i]];
for(int k = 0; k < filesizes[i]; k++)
{
tempInit[k] = k+1;
}
//Shuffle the ascending array
shuffle(tempInit);
for(int k = 0; k < tempInit.length; k++)
{
System.out.println(tempInit[k]);
}
我认为它可行的一种方法是使用所需的重复项百分比(假设是 20%),然后随机选择固定数量的整数,然后循环遍历数组并替换每个元素(如果不等于固定数字之一)与这些固定数字之一。我不确定选择这些固定数字的逻辑是什么,或者用于替换目的的固定数字的数量。
最佳答案
试试这个! 80% 为数字 1,5% 为彼此,最多 5:
Map<Double, Integer> map = new LinkedHashMap<>();
map.put(0.8, 1);
map.put(0.85, 2);
map.put(0.9, 3);
map.put(0.95, 4);
map.put(1, 5);
Random random = new Random();
double result = random.nextDouble();
int value = map.entrySet().stream().filter(entry -> entry.getKey() < result).reduce(0, Math::min);
关于java - 如何创建包含给定范围内的(准)随机值但具有固定重复项百分比的 int 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34098200/
我正在尝试创建(在Java中)一个包含指定数量的整数k(例如,50、500、1000等)的整数数组,该数组不使用库函数或集合,但包含随机数范围内(即从 1 到 k)的数字分类,具有指定的重复百分比。
例如: MY_MESSAGE = 'Dear %s, hello.' # ... name = "jj" print MY_MESSAGE % name python 是否具有完成类似我上面的代码的功
我有一个使用 NUnit 3.4.1、NSubstitute 1.10.0 和 NCrunch 2.23.0.2 的文本夹具 此夹具中在任何时间点都有 2 个失败测试。每次我更改某些内容时,哪个测试失
我是一名优秀的程序员,十分优秀!