Tag: 随机

在Java中生成随机单词?

我写了一个程序,可以对单词进行排序并确定任何字谜。 我想生成一个随机字符串数组,以便我可以测试我的方法的运行时。 public static String[] generateRandomWords(int numberOfWords){ String[] randomStrings = new String[numberOfWords]; Random random = Random(); return null; } (方法存根) 我只想要长度为1-10的小写单词。 我读了一些关于生成随机数,然后转换为char或其他东西的东西,但我并不完全理解。 如果有人可以告诉我如何生成随机单词,那么我应该能够轻松地使用for循环将单词插入到数组中。 谢谢!

在Math.random()上设置种子

我需要在调用Math.random() Java代码上编写一些junit测试。 我知道如果我实例化自己的Random对象以产生可重复的结果,我可以设置种子。 有没有办法为Math.random()做到这一点?

如何在Java中实现遗传算法的高斯变异算子

我尝试为我的项目学习并实现一个简单的遗传算法库。 此时,人口的进化,选择已经准备就绪,我正在尝试为Java和Scala中的遗传进化引擎实现一个简单的好变异算子,如高斯变异算子 (GMO)。 我在基于多目标进化算法的Pareto排名 (PM Mateo,I。Alberto),第6页和第7页的论文A变异算子中找到了关于高斯变异算子(GMO)的一些信息。 但我有一些问题需要找到有关如何在Java中实现此高斯变异算子和此运算符的其他有用变体的其他信息。 我该怎么办? 我正在使用随机Java util的random.nextGaussian()函数,但此方法仅返回0到1之间的随机数。 所以, a)在这种情况下,如何修改返回编号的精度? (例如,我想获得一个介于0和1之间的随机双数,步长等于0.00001。) b)我如何为这个函数指定mu和sigma ,因为我想在本地搜索我的基因组的值,而不是在-1和1之间。我怎样才能调整我的基因组价值的本地研究? 经过研究,我找到了b)问题的答案。 似乎我可以取代高斯随机数,如下所示: newGenomeValue = oldGenomeValue + (( gaussiandRndNumber * sigma ) + mean ) 其中mean =我的基因组值。 (参见底部的方法如何生成具有正态或高斯分布的随机数? )

Random.nextFloat不适用于花车?

float minX = 50.0f; float maxX = 100.0f; Random rand = new Random(); float finalX = rand.nextFloat(maxX – minX + 1.0f) + minX; “Random类型中的方法nextFloat()不适用于参数(float)” 嗯什么?

在java中生成短随机数?

我想生成一个类型为short的随机数,就像有一个名为Random.nextInt(134116)的整数类型的函数一样。 我怎样才能实现它?

优雅的方式来生成关于百分比的随机值?

我有N个值(整数)。 我想知道在百分比中随机选择其中一个值的最优雅方式是什么。 例如,对于3值示例: 价值1有30%的机会被选中 价值2有12%的机会被选中 价值3有45%的机会被选中 我需要这个用于我用Java开发的程序,但是伪代码算法或任何其他语言的代码都可以。

具有高效添加,删除和随机的Java数据结构

我需要一个Java数据结构,我可以有效地添加,删除和访问随机对象。 这是不起作用的: ArrayList具有高效的添加(常量时间)和随机访问(只是“获取”随机整数),但删除可能需要线性时间,因为它必须可能搜索整个列表。 TreeSet或HashSet具有高效的添加和删除function,但我无法弄清楚如何获取随机对象。 有任何想法吗? 从理论上讲,如果我可以使用随机Lefts或Rights自己遍历树,那么B树就可以工作了,但我不认为标准的Java类能给我这种能力。 如果标准Java类中没有任何内容可以使用,我愿意使用第三方库。 我不需要支持重复或空值,也不需要线程安全。 谢谢。

如何生成随机图?

我希望能够在Java中生成随机,无向和连接的图形。 另外,我希望能够控制图中的最大顶点数。 我不确定解决这个问题的最佳方法是什么,但这里有一些我能想到的: (1)生成一个介于0和n之间的数字,并将其作为顶点数。 然后,以某种方式将顶点随机链接在一起(可能每个顶点生成一个随机数,并将其作为从所述顶点出来的边数)。 从任意顶点开始遍历图形(比如使用广度优先搜索),让随机图G成为所有访问节点(这样,我们确保G连接)。 (2)生成一个边长在0到n之间的随机方阵( 0和1 )(不知何故)。 这将是我们图形的邻接矩阵(矩阵的对角线应该全部为1或全部为0 )。 从图形中创建数据结构并从任何节点遍历图形以获得连接的节点列表并将其称为图形G 任何其他生成足够随机图的方法都受到欢迎。 注意 :我不需要纯随机图,即,您生成的图不必具有任何特殊的数学属性(如某种均匀性)。 我只需要很多很多图表来测试其他东西。 这是我正在使用的Java Node类: public class Node { T data; ArrayList children= new ArrayList(); …} 这是我正在使用的Graph类(你可以告诉我为什么我现在只对连接图感兴趣): public class Graph { Node mainNode; ArrayList V= new ArrayList(); public Graph(Node node){ mainNode= node; } …} 例如,这就是我现在为测试目的制作图表的方法: //The following makes a “kite” graph G […]

如何从Java中的HashMap中选择一个随机密钥?

我正在使用一个大型ArrayList<HashMap> ,我会反复需要从随机HashMap中选择一个随机密钥(并用它做一些事情)。 选择随机HashMap是微不足道的,但我该如何从这个HashMap中选择一个随机密钥? 速度很重要(因为我需要做10000次并且哈希图很大),所以只需在[0,9999]中选择一个随机数k,然后在迭代器上执行.next() k次,实际上不是一个选项。 类似地,在每个随机选择上将HashMap转换为数组或ArrayList实际上不是一种选择。 请在回复之前阅读此内容。 从技术上讲,我认为这应该是可能的,因为HashMap在内部将其键存储在Entry[] ,并且从数组中随机选择很容易,但我无法弄清楚如何访问此Entry[] 。 因此,任何访问内部Entry[]想法都非常受欢迎。 其他解决方案(只要它们不占用散列图大小的线性时间)也是受欢迎的。 注意:启发式方法很好,所以如果有一种方法可以排除1%的元素(例如,由于多个填充的桶),那就没有问题了。

如何在Java中创建用户友好的唯一ID,UUID或其他唯一标识符

我通常使用UUID类生成唯一ID。 如果这些ID仅由技术系统使用,它们可以正常工作,它们不关心它们有多长: System.out.println(UUID.randomUUID().toString()); > 67849f28-c0af-46c7-8421-94f0642e5d4d 有没有一种很好的方法来创建用户友好的唯一ID(比如来自tinyurl的那些)比UUID稍短? 用例:您希望通过邮件向您的客户发送ID,然后客户访问您的网站并将该数字输入表单,如凭证ID。 我假设UUID在UUID的128位范围的整个范围内均等地生成。 那么仅仅使用较低的64位是圣人吗? System.out.println(UUID.randomUUID().getLeastSignificantBits()); 欢迎任何反馈。