Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.lang.math
Class JVMRandom

    java.lang.Object
      java.util.Random
          org.apache.commons.lang.math.JVMRandom

All Implemented Interfaces:
  Serializable

    public final class JVMRandom

extends Random

`JVMRandom` is a wrapper that supports all possible Random methods via the `Math.random()` method and its system-wide `Random` object.

It does this to allow for a Random class in which the seed is shared between all members of the class - a better name would have been SharedSeedRandom.

N.B. the current implementation overrides the methods `Random.nextInt(int)` and `Random.nextLong()` to produce positive numbers ranging from 0 (inclusive) to MAX_VALUE (exclusive).

Since:
  2.0
Version:
  $Id: JVMRandom.java 911986 2010-02-19 21:19:05Z niallp $
See Also:
  Serialized Form

Constructor Summary
`JVMRandom()` Constructs a new instance.

Method Summary
`boolean` | `nextBoolean()` Returns the next pseudorandom, uniformly distributed boolean value from the Math.random() sequence.
`void` | `nextBytes(byte[] byteArray)` Unsupported in 2.0.
`double` | `nextDouble()` Synonymous to the Math.random() call.
`float` | `nextFloat()` Returns the next pseudorandom, uniformly distributed float value between `0.0` and `1.0` from the Math.random() sequence.
`double` | `nextGaussian()` Unsupported in 2.0.
`int` | `nextInt()` Returns the next pseudorandom, uniformly distributed int value from the Math.random() sequence.
`int` | `nextInt(int n)` Returns a pseudorandom, uniformly distributed int value between `0` (inclusive) and the specified value (exclusive), from the Math.random() sequence.
`long` | `nextLong()` Returns the next pseudorandom, uniformly distributed long value from the Math.random() sequence.
`static long` | `nextLong(long n)` Returns a pseudorandom, uniformly distributed long value between `0` (inclusive) and the specified value (exclusive), from the Math.random() sequence.
`void` | `setSeed(long seed)` Unsupported in 2.0.

Methods inherited from class java.util.Random
`next`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### JVMRandom

    public JVMRandom()

  Constructs a new instance.

Method Detail

### setSeed

    public void setSeed(long seed)

  Unsupported in 2.0.

  Overrides:
    `setSeed` in class `Random`
  Parameters:
    `seed` - ignored
  Throws:
    `UnsupportedOperationException`

### nextGaussian

    public double nextGaussian()

  Unsupported in 2.0.

  Overrides:
    `nextGaussian` in class `Random`
  Returns:
    Nothing, this method always throws an UnsupportedOperationException.
  Throws:
    `UnsupportedOperationException`

### nextBytes

    public void nextBytes(byte[] byteArray)

  Unsupported in 2.0.

  Overrides:
    `nextBytes` in class `Random`
  Parameters:
    `byteArray` - ignored
  Throws:
    `UnsupportedOperationException`

### nextInt

    public int nextInt()

  Returns the next pseudorandom, uniformly distributed int value from the Math.random() sequence.

  Identical to `nextInt(Integer.MAX_VALUE)`

  N.B. All values are >= 0.

  Overrides:
    `nextInt` in class `Random`
  Returns:
    the random int

### nextInt

    public int nextInt(int n)

  Returns a pseudorandom, uniformly distributed int value between `0` (inclusive) and the specified value (exclusive), from the Math.random() sequence.

  Overrides:
    `nextInt` in class `Random`
  Parameters:
    `n` - the specified exclusive max-value
  Returns:
    the random int
  Throws:
    `IllegalArgumentException` - when `n <= 0`

### nextLong

    public long nextLong()

  Returns the next pseudorandom, uniformly distributed long value from the Math.random() sequence.

  Identical to `nextLong(Long.MAX_VALUE)`

  N.B. All values are >= 0.

  Overrides:
    `nextLong` in class `Random`
  Returns:
    the random long

### nextLong

    public static long nextLong(long n)

  Returns a pseudorandom, uniformly distributed long value between `0` (inclusive) and the specified value (exclusive), from the Math.random() sequence.

  Parameters:
    `n` - the specified exclusive max-value
  Returns:
    the random long
  Throws:
    `IllegalArgumentException` - when `n <= 0`

### nextBoolean

    public boolean nextBoolean()

  Returns the next pseudorandom, uniformly distributed boolean value from the Math.random() sequence.

  Overrides:
    `nextBoolean` in class `Random`
  Returns:
    the random boolean

### nextFloat

    public float nextFloat()

  Returns the next pseudorandom, uniformly distributed float value between `0.0` and `1.0` from the Math.random() sequence.

  Overrides:
    `nextFloat` in class `Random`
  Returns:
    the random float

### nextDouble

    public double nextDouble()

  Synonymous to the Math.random() call.

  Overrides:
    `nextDouble` in class `Random`
  Returns:
    the random double

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2011 The Apache Software Foundation. All Rights Reserved.