Cómo generar un valor aleatorio de una entrada?

Schred:

Busco a una forma de generar un valor aleatorio a partir de una entrada determinada en base de una semilla. Voy a dar un ejemplo de código para lo que yo estoy tratando de lograr:

public class Seed {

  public double generateRandom(double input) {
    // What goes in here?
  }

}

Así es como un programa de ejemplo podría ser:

public static void main(String[] args) {
  Seed seed1 = new Seed(), seed2 = new Seed();

  System.out.println("Result of seed 1 with 69: " + seed1.generateRandom(69));
  System.out.println("Result of seed 2 with 69: " + seed2.generateRandom(69));
  System.out.println("Result of seed 1 with 420: " + seed1.generateRandom(420));
  System.out.println("Result of seed 2 with 420: " + seed2.generateRandom(420));

  System.out.println("Result of seed 1 with 69 is still: " + seed1.generateRandom(69));
  System.out.println("Result of seed 2 with 69 is still: " + seed2.generateRandom(69));
}

El ser de salida:

Result of seed 1 with 69: 0.5
Result of seed 2 with 69: 0.65
Result of seed 1 with 420: 0.2
Result of seed 2 with 420: 0.34
Result of seed 1 with 69 is still: 0.5
Result of seed 2 with 69 is still: 0.65

¿Cómo sería el aspecto de clases de semillas como?

Alex:

Bueno, una implementación de ejemplo podría ser algo como:

public class Seed {

  public double generateRandom(long input) {
      return new Random(input).nextDouble();
  }
}

Prestar atención que el parámetro de generateRandom en esta implementación es long.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=276317&siteId=1
Recomendado
Clasificación