草庐IT

java - 为 Random.nextInt() 指定最大值和最小值?

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:Java:generatingrandomnumberinarange我想生成一个逻辑范围内的随机整数。因此,举例来说,我正在编写一个程序来“掷”一个具有指定面数的骰子。publicintrollDice(){Randomgenerator=newRandom();returngenerator.nextInt(sides);}现在问题变成了这将返回边和零之间的值,包括,这是没有意义的,因为大多数骰子从1到6、9等。那么我如何指定nextInt应该在1和边数之间工作吗?

java - 在 Java 中获取 0 到 0.06 之间的随机数?

如何在Java中获取介于0.0和0.06之间的随机Double值? 最佳答案 nextDouble()返回一个均匀分布在0和1之间的随机float。简单地缩放结果如下:Randomgenerator=newRandom();doublenumber=generator.nextDouble()*.06;参见thisdocumentation有关随机的更多示例。 关于java-在Java中获取0到0.06之间的随机数?,我们在StackOverflow上找到一个类似的问题:

java - Java 中 Math.random() 的随机数

为了生成随机数,我使用了以下公式:(int)(Math.random()*max)+min我在Google上找到的公式似乎总是:(int)(Math.random()*(max-min)+min)哪个是对的?据我所知,我的公式从未得到超出我范围的数字 最佳答案 您的公式生成介于最小值和最小值+最大值之间的数字。Google发现的生成的数字介于最小值和最大值之间。Google赢了! 关于java-Java中Math.random()的随机数,我们在StackOverflow上找到一个类似的

java - 在 Java 中仅使用/dev/random

我有一个HRNG在DebianWheezy中提供/dev/random。它很快,所以阻塞不会成为问题。现在,在我的Java代码中,我想确保我使用/dev/random中的熵并且只使用那个熵。我没有兴趣使用/dev/urandom之外的任何东西。我想强制Java的SecureRandom只从/dev/random获取熵。据我了解目前的实现,它在调用getBytes()时使用/dev/urandom,但在调用generateSeed()时使用/dev/random。我不明白为什么。据我了解,从/dev/urandom读取的唯一原因是您更喜欢速度而不是安全。我想要最高质量的熵。/dev/ur

java - 为什么将 Random 与硬编码种子一起使用总是会产生相同的结果?

这个问题在这里已经有了答案:Whydoesthiscodeusingrandomstringsprint"helloworld"?(15个答案)关闭9年前。以下Java中的简单程序使用java.util.Random类,因此它始终显示“helloworld”。代码片段如下所示。packagenomain;importjava.util.Random;finalpublicclassJ{publicstaticStringrandomString(intseed){Randomrand=newRandom(seed);StringBuildersb=newStringBuilder();

java - 以非显而易见的方式递增字符串的算法

我想创建看起来随机的5或6个字符的字母数字字符串,例如:Vg78KYCreating(pseudo-)randomStrings已得到解答,但我想知道是否存在以非显而易见的方式递增String的算法。上述字符串的简单增量可能会产生:Vg78KZ但我不希望下一个字符串是可猜测的,我希望它看起来完全不同。当然,连续的增量不应产生先前的结果,因为每个增量都应该是唯一的。非常感谢任何关于如何实现这一目标的想法!谢谢 最佳答案 避免需要查找表的简单方法是:正常增加一个整数以不明显的方式排列位(固定排列可能很好,但如果你想要更复杂的东西,你可以

java - 如何在java中生成随机时间戳?

我想生成一个随机时间戳并向其添加一个随机增量以生成第二个时间戳。这可能吗?如果我传递随机长值来创建时间戳,并且我想随机生成该长值,那么生成该值以在2012年给出时间戳的约束是什么? 最佳答案 您需要将随机数缩放到特定年份的范围内,并添加年份的开始作为偏移量。一年中的毫秒数从一年到另一年变化(闰年多一天,某些年份有闰分钟等),因此您可以在缩放之前确定范围,如下所示:longoffset=Timestamp.valueOf("2012-01-0100:00:00").getTime();longend=Timestamp.valueOf

java - 从 C 到 Java 的随机生成器端口?

GeorgeMarsaglia编写了一个出色的随机数生成器,它非常快速、简单,并且具有比MersenneTwister高得多的周期。这是带有描述的代码:goodCrandomnumbergenerator我想将CMWC4096代码移植到Java,但它使用了几种未签名的数据类型,所以我不确定如何正确地执行此操作。这是完整的C代码:/*chooserandominitialc>32);x=t+c;if(x有人可以将它移植到Java吗?当您只有签名号码可用时,这是如何工作的?编辑:感谢大家的快速回答!对于前1亿个数字,此Java代码似乎产生与C代码相同的结果。它比Java的java.util

java - Tomcat 启动时间太长 - Java SecureRandom

请不要将其标记为重复。这是这两个问题的后续问题。Tomcat7startstoolateonUbuntu14.04x64[Digitalocean]https://stackoverflow.com/a/2325109/6785908我明白了,替换securerandom.source=file:/dev/urandom与securerandom.source=file:/dev/./urandom在$JAVA_PATH/jre/lib/security/java.security中将解决这个问题。我的问题是,在生产中这样做可以吗?这会对安全性产生任何影响吗(比如SessionID变得

深入理解机器学习——概率图模型(Probabilistic Graphical Model):马尔可夫随机场(Markov Random Field,MRF)

分类目录:《深入理解机器学习》总目录马尔可夫随机场(MarkovRandomField,MRF)是典型的马尔可夫网,这是一种著名的无向图模型,图中每个结点表示一个或一组变量,结点之间的边表示两个变量之间的依赖关系。马尔可夫随机场有一组势函数(PotentialFunctions),亦称“因子”(Factor),这是定义在变量子集上的非负实函数,主要用于定义概率分布函数。上图显示出一个简单的马尔可夫随机场,对于图中结点的一个子集,若其中任意两结点间都有边连接,则称该结点子集为一个“团”(Clique),若在一个团中加入另外任何一个结点都不再形成团,则称该团为“极大团(MaximalClique)