정수형 난수 생성을 기준으로 글을 작성 했습니다.
난수를 생성하는 두 가지 방법
public class test {
public static void main(String[] args) {
System.out.println(Math.random()); //0.0 ~ 1.0 난수 발생
System.out.println((int)(Math.random() * 10)); //0 ~ 10 난수 발생
System.out.println((int)(Math.random() * 100)); //0 ~ 100 난수 발생
}
}
Math.random()을 하게 되면 0.0 ~ 1.0 사이에 실수형 난수가 반환된다. 이를 우리가 정수형으로 사용하기 위해서 앞에 (int)를 붙여주면 소수점 밑 부분이 날아가고 정수 부분만 남게 된다. 또한 Math.random() * N을 해주게 되면 범위가 0 ~ N이 되게 된다.
import java.util.Random;
public class test {
public static void main(String[] args) {
Random random = new Random();
System.out.println(random.nextInt()); //-2,147,483,648 ~ 2,147,483,647 난수 발생
System.out.println(random.nextInt(10)); //0 ~ 10 난수 발생
System.out.println(random.nextInt(100)); //0 ~ 100 난수 발생
}
}
우선 Random 클래스를 불러와서 인스턴스를 생성 해야 한다. 그리고 nextInt(N)를 하게 되면 0 ~ N 범위에서 정수가 랜덤하게 반환되게 된다. 만약에 N값을 입력하지 않으면 정수 범위에 최솟값 ~ 최댓값으로 범위가 자동으로 설정 되는 것을 알 수 있다.
예를 들어서 범위가 0 ~ 10이라고 하면 0 이상 10 미만 수에서 값을 반환 한다는 뜻입니다.