Tag: 随机

Hibernate Criteria API:获得n个随机行

我无法弄清楚如何从条件实例中获取n个随机行: Criteria criteria = session.createCriteria(Table.class); criteria.add(Restrictions.eq(‘fieldVariable’, anyValue)); … 那又怎样? 我找不到任何带有Criteria API的文档 这是否意味着我应该使用HQL? 感谢名单! 编辑:我得到的行数: int max = criteria.setProjecxtion(Projections.rowCount()).uniqueResult(); 如何获取索引在0到最大值之间的n个随机行? 再次!

生成泊松和二项式随机数的算法?

我一直在四处寻找,但我不知道该怎么办。 我发现这个页面在最后一段中说: 使用这个简单的配方获得从泊松分布中获取的随机数的简单生成器:如果x 1 ,x 2 ,…是在0和1之间具有均匀分布的随机数序列,则k是第一个整数,其中乘积x 1 ·x 2 ·……·x k + 1 <e -λ 我发现了另一个描述如何生成二项式数的页面 ,但我认为它使用的是泊松生成的近似值,这对我没有帮助。 例如,考虑二项式随机数。 二项式随机数是硬币N次投掷中的头数,其中任意一次投掷的头部概率为p。 如果在区间(0,1)上生成N个均匀随机数并计算小于p的数,则计数是具有参数N和p的二项式随机数。 我知道有库可以做到这一点,但我不能使用它们,只能使用语言提供的标准统一生成器(在本例中为java)。

生成除特定值之外的随机数

我想生成随机数,但不希望它们来自excludeRows数组。 这是我的代码。 public int generateRandom(int start, int end, ArrayList excludeRows) { Random rand = new Random(); int range = end – start +1 – excludeRows.size(); int random = rand.nextInt(range) + 1; for(int i = 0; i random) { return random; } random++; } return random; } 我在while循环中使用此函数,并在每次迭代期间向excludeRows添加一个新值。 有时它会返回属于excludeRows数字。 有什么问题?

如何在java中生成随机的正数和负数

我试图在原始数据类型short的范围(-32768,32767)上生成随机整数。 java Random对象仅生成正数。 如何在该间隔内随机创建数字? 谢谢。

根据使用频率随机生成字母?

如何根据普通语音中的使用频率随机生成字母? 任何伪代码都很受欢迎,但Java中的实现会非常棒。 否则,只要朝正确的方向捅一下就会有所帮助。 注意:我不需要生成使用频率 – 我确信我可以轻松地查看它。

Java中的真正随机生成

我正在阅读Math.random()javadoc并看到随机只是伪随机。 是否有一个库(特别是java)根据随机变量生成随机数,如环境温度,CPU温度/电压或类似的东西?

有效地选择随机数

我有一个方法,它使用随机样本来近似计算。 这种方法被称为数百万次,因此选择随机数的过程非常有效。 我不确定javas Random().nextInt速度有多快,但我的程序似乎并没有像我希望的那样受益。 选择随机数时,我会执行以下操作(半伪代码): // Repeat this 300000 times Set set = new Set(); while(set.length != 5) set.add(randomNumber(MIN,MAX)); 现在,这显然有一个糟糕的最坏情况运行时间,因为理论上的随机函数可以为永恒添加重复数字,从而永远保持在while循环中。 但是,数字是从{0..45}中选择的,因此重复的值大部分都不太可能。 当我使用上面的方法时,它只比我的其他方法快40%,它不是近似的,但会产生正确的结果。 这跑了大约100万次,所以我期待这种新方法至少快50%。 您对更快的方法有什么建议吗? 或许你知道一种更有效的方法来生成一组随机数。 澄清一下,这是两种方法: // Run through all combinations (1 million). This takes 5 seconds for(int c1 = 0; c1 < deck.length; c1++){ for(int c2 = c1+1; c2 < deck.length; c2++){ for(int c3 […]

在数组中生成随机数

可能重复: O(1)中的唯一随机数? 我是Java新手。 我想从给定的集合中生成一组随机数,并且数字也必须不重复。 例如,可能的数字是[0,1,2,3] ,我想获得存储在数组中的三个随机唯一数字。 防爆。 [0,2,1], [2,3,1], [0,3,2]等

如何在Java中生成随机排列?

生成n个数的随机排列的最佳方法是什么? 例如,假设我有一组数字1,2和3(n = 3) 一组所有可能的排列:{123,132,213,231,312,321} 现在,我该如何生成: 上述集合中的一个元素(随机选择) 如上所示的整个排列集 换句话说,如果我有一个n个元素的数组,我该如何随意混洗它们? 请协助。 谢谢。

如何在Java中生成特定范围内的随机整数?

如何在特定范围内生成随机int值? 我尝试了以下,但那些不起作用: 尝试1: randomNum = minimum + (int)(Math.random() * maximum); // Bug: `randomNum` can be bigger than `maximum`. 尝试2: Random rn = new Random(); int n = maximum – minimum + 1; int i = rn.nextInt() % n; randomNum = minimum + i; // Bug: `randomNum` can be smaller than `minimum`.