相关疑难解决方法(0)

Java中的真正随机生成

我正在阅读Math.random()javadoc并看到随机只是伪随机.

是否有一个库(特别是java)根据随机变量生成随机数,如环境温度,CPU温度/电压或类似的东西?

java random

23
推荐指数
5
解决办法
4万
查看次数

当我设置种子时,Java随机总是返回相同的数字?

我需要帮助我正在创建的随机数生成器.我的代码如下(在一个名为numbers的类中):

public int random(int i){
    Random randnum = new Random();
    randnum.setSeed(123456789);
    return randnum.nextInt(i);
}
Run Code Online (Sandbox Code Playgroud)

当我从另一个类调用此方法时(为了生成一个随机数),它总是返回相同的数字.例如,如果我这样做:

System.out.println(numbers.random(10));
System.out.print(numbers.random(10));
Run Code Online (Sandbox Code Playgroud)

它总是打印相同的数字,例如5 5.我需要做什么才能打印两个不同的数字,例如5 8

我必须设置种子.

谢谢

java random

21
推荐指数
3
解决办法
8万
查看次数

为什么使用带有硬编码种子的Random会产生相同的结果?

Java中的以下简单程序使用java.util.Random该类,以便始终显示"hello world".代码片段如下所示.

package nomain;

import java.util.Random;

final public class J
{
    public static String randomString(int seed)
    {
        Random rand = new Random(seed);
        StringBuilder sb = new StringBuilder();

        for(int i=0;;i++)
        {
            int n=rand.nextInt(27);
            if (n==0)
            {
                break;
            }
            sb.append((char) ('`'+n));
        }
        return sb.toString();
    }

    public static void main(String args[])
    {
        System.out.println(randomString(-229985452)+' '+randomString(-147909649));
    }
}
Run Code Online (Sandbox Code Playgroud)

令人惊讶的是,它总是显示"hello world",即使使用Random类导致随机数生成,因此每次运行时应更改数字,相应的字符应相应更改,但始终只显示一个稳定的字符串,如上所述"hello world".为什么会这样?

java random

16
推荐指数
1
解决办法
4213
查看次数

标签 统计

java ×3

random ×3