
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