如何让我的代码生成伪随机整数

时间:2014-09-21 23:05:41

标签: java random

因此,对于我的程序中的一个选项,我正在尝试创建一个伪随机数生成器。当用户输入相同的种子时,我无法弄清楚如何使我的代码产生相同的随机数。我知道我需要让用户输入种子,但我不确定要使用的代码是什么。

else if ( choice == 2){

    input.nextInt();
    System.out.println("RANDOM NUMBER GENERATOR\nTo generate a random number, I need to create a random number generator.\nTo create a random number generator that can be predicted (graded).\nI need to get the seed of the generator.\nPlease enter an integer value in Java's int range to be used as my seed.\nJava's int range is -2,147,483,648 to 2,147,483,647, inclusive:");


    Random rng = new Random();
    input.nextLine();

    int incl = input.nextInt();

    System.out.println("Enter min value:");

    input.nextLine();
    int min = input.nextInt();
    System.out.println("Enter max value:");

    input.nextLine();
    int max = input.nextInt();

    int randNum = rng.nextInt((max - min) + 1) + min;
    System.out.println("Random value is:" + randNum);
}

2 个答案:

答案 0 :(得分:1)

从你的println看起来你正在使用Java。

从用户那里获取种子并将其传递给Random(种子):http://docs.oracle.com/javase/7/docs/api/java/util/Random.html#Random(long)

int incl = input.nextInt();
Random rng = new Random(incl);

答案 1 :(得分:0)

如果您想设置随机数生成器的种子,

我建议你使用这个功能:

cin >> Value;

srand(Value);

请确保包含适当的标题:

#include <cstdlib>

(这是针对C ++的,下次请指定您正在使用的代码)