본문 바로가기
JAVA

221025 랜덤

4.Random:숫자
1)Random클래스 : seed를 만든 후 seed에서 숫자를 하나씩 추출하는 클래스
==>생성자
Random():seed를 현재 시간에 생성-어느 정도 랜덤 보장
Random(long seed): seed를 고정-랜덤이 아니고 일정한 패턴의 숫자를 가져옵니다.

=>데이터를 추출하는 메서드
next자료형()
nextInt(int n):0부터 n보다 작은 수 까지 범위에서 추출

2)UUID
==>랜덤한 문자열을 만들어주는 클래스
==>UUID.randomUUID().toString()을 이용해서 랜덤한 문자열을 만들어 줍니다.
==>고유한 식별자를 생성할 때 주로 이용합니다.
UUID는 문자열이기에 중복될 가능성이 거의 없음.

3)실습
==>seed를 사용하는 경우와 그렇지 않은 경우를 구분하고 배열 안에서 랜덤한 요소를 추출해보고, UUID를 생성

 

 

package java_1025;

import java.util.Random;
import java.util.UUID;

public class RandomEx {
	public static void main(String[] args) {
		//seed를 사용하지 않는 경우와 사용하는 경우의 차이
		//여러번 실행해보고 확인
		
		//java에서는 seed를 설정하지 않으면 seed가 랜덤
		Random r= new Random();
		System.out.println(r.nextInt());//실행할 때마다 바뀜
		
		//seed를 설정하면 고정된 패턴의 숫자가 리턴
		r= new Random(42);
		System.out.println(r.nextInt());//계속 실행해도 그대로
		
		//배열 내에 존재하는 요소만 랜덤하게 추출
		r = new Random();
		String[] ar = {"오미크론","오미크론","오미크론","다크스펙터","다크스펙터","라투"};
		for(int i=0;i<10;i++) {
			System.out.println(ar[r.nextInt(ar.length)]);
		}
		
		//랜덤한 문자열 추출
		System.out.println(UUID.randomUUID().toString());
		
		
		
		
	}

}
-1244674161
-1170105035
다크스펙터
라투
오미크론
다크스펙터
오미크론
오미크론
오미크론
오미크론
라투
오미크론
fe9d87e3-9b32-4cdf-b884-4ec7162534f2

seed를 설정하지 않으면 실행할 때마다 랜덤값이 나오는 반면, seed를 설정해놓으면 (같은 출력문으로만 실행할 때)여러번 실행해도 동일한 값이 나온다.

 

 

'JAVA' 카테고리의 다른 글

221025 List  (0) 2022.10.25
221025 Generic  (0) 2022.10.25
221025 날짜  (0) 2022.10.25
221025 Fibonacci수열과 재귀/재귀사용 x  (0) 2022.10.25
221025 binarySearch  (0) 2022.10.25