Random Numbers in Minitab

Here’s the translation of the Go random numbers example to Java, formatted in Markdown suitable for Hugo:

import java.util.Random;

public class RandomNumbers {
    public static void main(String[] args) {
        Random rand = new Random();

        // For example, nextInt(100) returns a random int n,
        // 0 <= n < 100.
        System.out.print(rand.nextInt(100) + ",");
        System.out.println(rand.nextInt(100));

        // nextDouble() returns a double f,
        // 0.0 <= f < 1.0.
        System.out.println(rand.nextDouble());

        // This can be used to generate random doubles in
        // other ranges, for example 5.0 <= f' < 10.0.
        System.out.print((rand.nextDouble() * 5) + 5 + ",");
        System.out.println((rand.nextDouble() * 5) + 5);

        // If you want a known seed, create a new
        // Random object with a specific seed.
        Random rand2 = new Random(42);
        System.out.print(rand2.nextInt(100) + ",");
        System.out.println(rand2.nextInt(100));

        Random rand3 = new Random(42);
        System.out.print(rand3.nextInt(100) + ",");
        System.out.println(rand3.nextInt(100));
    }
}

Java’s java.util.Random class provides pseudorandom number generation.

The Random class generates random numbers using a seed. By default, it uses the current time as a seed, which results in different random numbers each time you run the program. If you want reproducible random numbers, you can create a Random object with a specific seed.

To run the program, compile it and then use java to execute:

$ javac RandomNumbers.java
$ java RandomNumbers
68,56
0.8090228139659177
5.840125017402497,6.937056298890035
94,49
94,49

Some of the generated numbers may be different when you run the sample, except for the ones generated with a specific seed (the last two lines).

Note that Java’s Random class doesn’t have an exact equivalent to Go’s PCG (Permuted Congruential Generator). Java uses a different algorithm for its pseudorandom number generation. However, the basic usage and concept remain similar.

See the Java Random class documentation for references on other random quantities that Java can provide.