티스토리 뷰

JAVA/PRIMER

[JAVA] Random

yulrang 2018. 4. 19. 14:06
import java.util.Random;

public class Random클래스1 {

	public static void main(String[] args) {
		Random r = new Random();
		
		// nextInt() : int타입의 범위 안에 있는 정수 랜덤으로 반환 (음수, 양수)
		int a = r.nextInt();
		System.out.println(a);

		// nextInt(n) : 0 ~ n-1 사이의 정수를 랜덤으로 반환
		System.out.println( r.nextInt(3) );	// 0 ~ 2
		
		// nextDouble() : 0 ~ 1 사이의 double 타입 실수(15자리)를 랜덤으로 반환 
		// 	= Math.random()과 동일
		System.out.println( r.nextDouble() );
		
		// nextDouble() : 0 ~ 1 사이의 float 타입 실수(6자리 정도)를 랜덤으로 반환 
		System.out.println( r.nextFloat() );
	}

}
1494861447
1
0.6384674352669086
0.73568225


import java.util.Random;


public class Random클래스2 {

	public static void main(String[] args) {
		Random r1 = new Random();
		Random r2 = new Random();
		
		// setSeed(정수) -> 랜덤수를 발생시키는 패턴을 지정
		//				    패턴은 2의 48제곱 개가 존재 (48bit)
		r1.setSeed(3);
		r2.setSeed(3);	// r1과 r2의 랜덤수 발생이 동일하게 됨
		
		for( int i=0; i<10; i++){
			System.out.print(r1.nextInt(5)+" ");
			System.out.print(r2.nextInt(5));
			System.out.println();
		}
	}

}
4 4
0 0
0 0
1 1
3 3
2 2
4 4
4 4
4 4
1 1


import java.util.Random;


public class Random클래스3 {

	public static void main(String[] args) {
		Random r1 = new Random(1);
		Random r2 = new Random();
		
		// new Random(1) == setSeed(1) 
		// 생성자안의 정수는 seed 값
		r2.setSeed(1);
		
		for( int i=0; i<10; i++){
			System.out.print(r1.nextInt(5)+" ");
			System.out.print(r2.nextInt(5));
			System.out.println();
		}

	}

}
0 0
3 3
2 2
3 3
4 4
4 4
4 4
1 1
3 3
3 3


'JAVA > PRIMER' 카테고리의 다른 글

[JAVA] 추상클래스  (0) 2018.04.19
[JAVA] 상속  (0) 2018.04.19
[JAVA] Math  (0) 2018.04.19
자바 Calendar  (0) 2018.04.19
자바 StringTokenizer  (0) 2018.04.19
댓글