1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | 출처: http://hyeonstorage.tistory.com/160 [개발이 하고 싶어요] 소프트웨어를 개발할 때 난수(random number)에 대한 필요성은 빈번히 발생한다. 특히 게임은 주사위를 던지거나 카드를 섞을 때 난수를 사용한다. java.util 패키지의 일부인 Random 클래스는 의사난수 발생기(Pseudorandom number generator)이다. Random 클래스는 일정 범위의 값들에서 한 개의 수를 임의로 선택한다. * Random 클래스의 method
Random 클래스는 new Random() 을 사용하여 객체를 생성한다. int 형의 정수 랜덤값을 추출하기 위해서는 생성한 Random 객체에 nextInt() 메소드를 호출하면 된다. nextInt 호출시에 파라미터를 넣어주지 않으면 int의 전체범위에서 랜덤값을 추출한다. (int 전체 범위 : -2,147,483,648 ~2,147,483,647 ) nextInt() 에 숫자를 넣어주면, 0~num-1 까지의 범위에서 랜덤값을 추출한다. ex> nextInt(10) : 0~9 여기서 시작 범위를 변경하고 싶다면 그 수만큼 더해주면 된다. 2~11 범위에서 값을 추출하고 싶다면, nextInt(10)+2 를 하면 된다. 밑에 예제를 살펴보면 이해가 될 것이다. package mymain; public class Random { public static void main(String[] args) { java.util.Random random = new java.util.Random(); int num1; float num2; // int 값의 범위에서 정수 랜덤값을 추출한다. num1 = random.nextInt(); System.out.println("A random integer: " + num1); // 0~4 사이의 정수 랜덤값을 추출한다. num1 = random.nextInt(5); System.out.println("From 0 to 4: " + num1); // 20~34 사이의 정수 랜덤값을 추출한다. num1 = random.nextInt(15) + 20; System.out.println("From 20 to 34 : " + num1); // -10 ~ 9 사이의 정수 랜덤값을 추출한다. num1 = random.nextInt(20) - 10; System.out.println("From -10 to 9 :" + num1); // 0.0(포함) ~ 1.0(포함안함) 사이의 난수를 추출한다. num2 = random.nextFloat(); System.out.println("A random float(between 0-1): "+ num2); // 0.0 ~ 5.9999999 사이의 난수를 추출한다. // int로 형 변환(0~5) 후 1을 더한다. // 1~6 사이의 난수를 출력한다. num2 = random.nextFloat() * 6; num1 = (int)num2 + 1; System.out.println("From 1 to 6 : " + num1); } } | cs |
'IT > 자바' 카테고리의 다른 글
trhow와 throws로 예외처리를 하는 방법 (0) | 2018.05.22 |
---|---|
자바(Java) awt 패널(panel) 클래스 사용방법 (0) | 2018.05.21 |
쓰레드 데드락 (0) | 2018.05.18 |
쓰레드 기아 (0) | 2018.05.18 |
쓰레드 공정 (0) | 2018.05.18 |