Java 生成50%到150%之间的随机数
我有:Java 生成50%到150%之间的随机数,java,random,range,Java,Random,Range,我有: 因为我想生成一个介于50%和150%之间的数字。然而,它给了我一个错误。如何使用随机函数获取该范围内的数字?您的问题是:您应该阅读javadoc。意思是:不要假设某个库方法做了什么;相反:阅读文档以验证您的假设是否正确 在这种情况下,请检查。。。并发现: 返回此随机数生成器序列中0.0和1.0之间的下一个伪随机、均匀分布的双精度值 关键是:没有接受双参数的方法nextDouble()!只有一个是没有任何争论的;默认情况下,该方法返回一个介于0和1之间的值 因此,只需更改代码,无需任何参数
因为我想生成一个介于50%和150%之间的数字。然而,它给了我一个错误。如何使用随机函数获取该范围内的数字?您的问题是:您应该阅读javadoc。意思是:不要假设某个库方法做了什么;相反:阅读文档以验证您的假设是否正确 在这种情况下,请检查。。。并发现: 返回此随机数生成器序列中0.0和1.0之间的下一个伪随机、均匀分布的双精度值 关键是:没有接受双参数的方法nextDouble()!只有一个是没有任何争论的;默认情况下,该方法返回一个介于0和1之间的值
因此,只需更改代码,无需任何参数即可调用该方法 你可以做50%和100%
private Random rng = new Random();
double random = rng.nextDouble(1.5-0.5) + 0.5;
publicstaticvoidmain(最终字符串[]args){
随机rng=新随机();
double random=rng.nextDouble();
如果(随机,这是因为nextDouble
不接收参数,只返回0.0到1.0之间的双精度。使用以下方法:
public static void main(final String[] args) {
Random rng = new Random();
double random = rng.nextDouble();
if (random <= 0.5) {
System.out.println("50% " + random);
} else {
System.out.println("100% " + random);
}
}
如果您阅读ide中的错误或只是查看java文档,您将清楚地看到原因
Random类型中的方法nextDouble()不适用于
参数(双)
random类没有以double作为参数的方法nextDouble()
顺便说一句,为什么不生成一个介于50和150之间的随机整数…这对您想要的实现更有意义
差不多
Random rng = new Random();
double max = 1.5;
double min = 0.5;
double random = rng.nextDouble(); // Double between 0.0 and 1.0
double percentage = random*(max-min) + min;
System.out.println(percentage);
“它向我抛出一个错误”不是一个有用的描述。请在您的问题中包含异常堆栈跟踪!如果您修复了错误,它可能会工作。欢迎使用堆栈溢出!请查看我们的帮助,以帮助您提出一个好问题,从而获得一个好答案。
Random rand = new Random();
randomNum = minimum + rand.nextInt((maximum - minimum) + 1);