GROOVY如何将随机数整理为一个整数
问题描述:
我在寻找将整数随机生成的整数。GROOVY如何将随机数整理为一个整数
我试过各种手段,但似乎没有工作。我的最新尝试如下:
def som = Math.random() * totalContacts
log.info som
som.toInteger()
log.info som
def cleaned = parseInt(som)
log.info cleaned
我收到以下错误,当我执行上面的代码 -
(我登录到控制台后,每一步只是为了检查我的结果。)groovy.lang.MissingMethodException:方法的无 签名: Script69.parseInt()是适用于 参数类型:(java.lang.Double中) 值:[44.405365593296]可能 个解决方案:打印(java.lang.Object中), 打印(java.io.PrintWriter中), 打印(java.lang.Object中)
感谢, 理查德
答
的问题似乎是那在这条线
def cleaned = parseInt(som)
som
是Double
并没有parseInt
方法,它接受Double
说法。你没有显示你的进口,但我想你已经静态导入Integer.parseInt
,并试图调用。
下面的变化应该工作:
def som = Math.random() * totalContacts
log.info som
som.toInteger()
log.info som
def cleaned = som.toInteger()
log.info cleaned
然而,它似乎像你想在这里做的是产生范围0..totalContacts
(包括两端)的随机整数。如果是这样,下面是一个简单的解决方案:
import org.apache.commons.lang.math.RandomUtils
import java.util.Random
Integer som = RandomUtils.nextInt(new Random(), totalContacts + 1)
答
最简单的方法是:
def som = Math.random() * totalContacts as int
log.info som
您好我最终得到这个工作: 高清索姆=的Math.random()* totalContacts randomSeed = som.toInteger() log.info randomSeed 但也会尝试你的反应! 干杯! – 2010-10-26 06:09:33