콘텐츠로 이동

Class Random

package java.util

java.lang.Object
|
+--java.util.Random

extends Object:

이 클래스의 인스턴스는 의사 난수 스트림을 생성하는 데 사용됩니다. 클래스는 선형 일치 공식으로 수정되는 48비트 시드를 사용합니다. (Donald Knuth, The Art of Computer Programming, Volume 2, 3.2.1절을 참조하십시오.)

동일한 시드를 사용하여 Random의 두 인스턴스를 만들고 각각에 대해 동일한 메소드 호출 시퀀스를 구성하면 두 인스턴스는 동일한 숫자 시퀀스를 생성하여 반환합니다. 이 등록 정보를 보장하기 위해 Random 클래스에 특정 알고리즘이 지정됩니다. Java 구현 시에는 Java 코드의 완벽한 이식성을 위해 여기에 나열된 모든 알고리즘을 Random 클래스에 사용해야 합니다. 하지만 Random 클래스의 서브 클래스는 모든 메소드의 일반 계약에 따르기만 하면 다른 알고리즘을 사용할 수도 있습니다.

Random 클래스에서 구현하는 알고리즘은 각 호출마다 의사 난수로 생성된 최대 32개의 비트를 제공할 수 있는 protected 유틸리티 메소드를 사용합니다.

Since:

  • JDK1.0, CLDC 1.0
  • Random () 새로운 난수 생성기를 만듭니다.
  • Random (long seed) 단일 long 시드를 사용하여 새로운 난수 생성기를 만듭니다.
  • protected  int next (int bits) — 다음 의사 난수를 생성합니다.
  • double nextDouble () — 이 난수 생성기 시퀀스에서 생성된 0.0 과 1.0 사이의 균일하게 분산된 다음 의사 난수 double 값을 반환합니다.
  • float nextFloat () — 이 난수 생성기 시퀀스에서 생성된 0.0 과 1.0 사이의 균일하게 분산된 다음 의사 난수 float 값을 반환합니다.
  • int nextInt () — 이 난수 생성기 시퀀스에서 균일하게 분산된 다음 의사 난수 int 값을 반환합니다.
  • int nextInt (int n) — 이 난수 생성기 시퀀스에서 가져온 0(포함)과 지정된 값(포함하지 않음) 사이의 균일하게 분산된 의사 난수 int 값을 반환합니다.
  • long nextLong () — 이 난수 생성기 시퀀스에서 균일하게 분산된 다음 의사 난수 long 값을 반환합니다.
  • void setSeed (long seed) — 단일 long 시드를 사용하여 이 난수 생성기의 시드를 설정합니다.
public Random()
  • 새로운 난수 생성기를 만듭니다. 해당 시드는 현재 시간을 기반으로 하는 값으로 초기화됩니다.

public Random() { this(System.currentTimeMillis()); }

See Also:

  • System.currentTimeMillis()
public Random(long seed)
  • 단일 long 시드를 사용하여 새로운 난수 생성기를 만듭니다.

public Random(long seed) { setSeed(seed); } next 메소드에서 의사 난수 생성기의 상태를 유지하기 위해 사용합니다.

Parameters:

  • seed - 초기 시드

See Also:

  • setSeed(long)
public void setSeed(long seed)

Parameters:

  • seed - 초기 시드
protected int next(int bits)

Parameters:

  • bits - 임의 비트

Returns:

  • 난수 생성기 시퀀스에서 다음 의사 난수 값
public int nextInt()

Returns:

  • 이 난수 생성기 시퀀스에서 균일하게 분산된 다음 의사 난수 int
public int nextInt(int n)

Parameters:

  • n - 반환되는 난수의 범위. 양수여야 합니다.

Returns:

  • 0(포함)과 n(포함하지 않음) 사이의 균일하게 분산된 의사 난수 int

Throws:

  • IllegalArgumentException - n이 양수가 아닐 경우

Since:

  • CLDC 1.1
public long nextLong()

Returns:

  • 이 난수 생성기 시퀀스에서 균일하게 분산된 다음 의사 난수 long
public float nextFloat()

Returns:

  • 이 난수 생성기 시퀀스에서 생성된 0.01.0 사이의 균일하게 분산된 다음 의사 난수 float

Since:

  • CLDC 1.1
public double nextDouble()

Returns:

  • 이 난수 생성기 시퀀스에서 생성된 0.01.0 사이의 균일하게 분산된 다음 의사 난수 double

Since:

  • CLDC 1.1
public void setSeed(long seed)

Parameters:

  • seed - 초기 시드
protected int next(int bits)

Parameters:

  • bits - 임의 비트

Returns:

  • 난수 생성기 시퀀스에서 다음 의사 난수 값
public int nextInt()

Returns:

  • 이 난수 생성기 시퀀스에서 균일하게 분산된 다음 의사 난수 int
public int nextInt(int n)

Parameters:

  • n - 반환되는 난수의 범위. 양수여야 합니다.

Returns:

  • 0(포함)과 n(포함하지 않음) 사이의 균일하게 분산된 의사 난수 int

Throws:

  • IllegalArgumentException - n이 양수가 아닐 경우

Since:

  • CLDC 1.1
public long nextLong()

Returns:

  • 이 난수 생성기 시퀀스에서 균일하게 분산된 다음 의사 난수 long
public float nextFloat()

Returns:

  • 이 난수 생성기 시퀀스에서 생성된 0.01.0 사이의 균일하게 분산된 다음 의사 난수 float

Since:

  • CLDC 1.1
public double nextDouble()

Returns:

  • 이 난수 생성기 시퀀스에서 생성된 0.01.0 사이의 균일하게 분산된 다음 의사 난수 double

Since:

  • CLDC 1.1