JAVA : 지정된 범위에서 난수 생성
Java 언어에서는 math.random ()을 사용하여 난수를 생성 할 수 있습니다. Math.random ()의 기능은 0에서 1까지의 난수를 얻는 것입니다. 다음 코드에서와 같이 0.0-1.0 사이의 난수를 생성했습니다.
public class Random1{
public static void main(String[] args){
double random = Math.random();
System.out.print("random = " + random);
}
}
그러나 때때로 난수 범위에 대한 특정 요구 사항이 있습니다. 예를 들어 0에서 9까지의 난수를 생성하려고합니다. 이때 위의 Math.random () * 10, 그리고 그런 다음 필수 수행 유형 변환은 우리가 원하는 범위의 난수를 얻을 수 있습니다. 예를 들어, 다음 코드에서는 0.0-1.0 ramdom 사이의 난수와 0-10 random1` 사이의 난수를 생성합니다.
public class Random1{
public static void main(String[] args){
double random = Math.random();
System.out.println("random = " + random);
int random1 = (int)(Math.random()*10);
System.out.println("random1 = " + random1);
}
}
`하지만 [10, 100)의 임의의 정수를 생성하고 싶을 때 Math.random () 바로 뒤에 오는 * 100 메서드는 신뢰할 수 없으며 10보다 작은 임의의 정수를 생성 할 수 있습니다. 실제로 임의의 정수 범위를 생성하려면 다음 공식을 사용할 수 있습니다.
(int) (Math.random () ** (최대 수-최소 수) + 최소 수)
따라서 [10 , 100) 난수에 대한 코드는 다음과 같아야합니다.
public class Random1{
public static void main(String[] args){
/*double random = Math.random();
System.out.println("random = " + random);
int random1 = (int)(Math.random()*10);
System.out.println("random1 = " + random1);*/
int random2 = (int) (Math.random()*90+10);
System.out.print("random2 = " + random2);
}
}
이런 식으로 [10, 100) 내에서 난수를 생성했습니다. 실제로이 공식은 위의 [0, 10) 난수를 생성하는 데에도 사용되지만 최소값이 0이므로 직접 생성 할 수 있습니다. 10을 곱합니다. 동일 [100, 1000) 내에서 난수를 생성하려면 해당 데이터 만 교체하면되며 아래로 내려 가서 시도 할 수 있습니다. 기본 데이터 유형간에 변환하는 방법을 알려 드리겠습니다.
https://blog.csdn.net/qq_43825377/article/details/105295939?utm_source=app