
	                	                 
Math.random() 함수는 0.0 (포함) 이상 1.0 (미포함) 사이의 임의의 부동소수점 숫자를 반환합니다. 
중복값이 발생하는 이유는 Math.random() 함수가 동일한 시드 값을 사용할 때 발생합니다. 
Math.random() 함수로 생성된 숫자가 중복되지 않도록 하는 방법은 다음과 같습니다.
1.  시드 값을 고정하지 않기: Math.random() 함수는 시드 값을 사용하여 임의의 숫자를 생성합니다. 시드 값을 고정하면 중복값이 발생할 수 있으므로, 시드 값을 고정하지 않도록 합니다.
2.  난수 생성기 사용하기: Math.random() 함수 대신 난수 생성기를 사용하여 임의의 숫자를 생성합니다. 난수 생성기는 시드 값을 사용하여 임의의 숫자를 생성할 때 중복값이 발생하지 않도록 합니다.
3.  중복값 체크하기: Math.random() 함수로 생성된 숫자가 중복되지 않도록 체크합니다. 중복값이 발생하는 경우, 새로운 임의의 숫자를 생성합니다.
Java에서 Math.random() 함수 대신 난수 생성기를 사용하는 방법은 다음과 같습니다.
#hostingforum.kr
java
import java.security.SecureRandom;
public class Main {
    public static void main(String[] args) {
        SecureRandom secureRandom = new SecureRandom();
        int randomInt = secureRandom.nextInt(100); // 0 ~ 99 사이의 임의의 정수
        System.out.println(randomInt);
    }
}
Java에서 중복값 체크하는 방법은 다음과 같습니다.
#hostingforum.kr
java
import java.util.HashSet;
import java.util.Set;
public class Main {
    public static void main(String[] args) {
        Set set = new HashSet<>();
        while (set.size() < 10) {
            int randomInt = (int) (Math.random() * 100); // 0 ~ 99 사이의 임의의 정수
            set.add(randomInt);
        }
        System.out.println(set);
    }
}
위의 예제 코드를 참고하여 Math.random() 함수로 생성된 숫자가 중복되지 않도록 하는 방법을 구현할 수 있습니다.
2025-06-21 05:06