Math클래스의 random메서드
0.0 이상 1.0 미만의 임의의 double값을 반환한다
0.0 <= Math.random() < 1.0
Math.random()은 실수의 범위의 랜덤값을 리턴해주는데,
임의의 랜덤값을 실수가 아닌 정수로 받고싶은 경우는 어떻게 해야할까?
1부터 10사이의 정수의 범위에서 랜덤으로 숫자를 추출해보자
Math.random()에 10을 곱해서 범위를 0.0 ~ 10.0으로 변경해준다
0.0 * 10 <= Math.random()* 10 < 1.0* 10
▶ 0.0 <= Math.random()* 10 < 10.0
int형으로 형변환하여 정수를 리턴하도록 한다
(int) 0.0 <= (int) Math.random() * 10 < (int) 10.0
▶ 0 <= (int) Math.random() * 10 < 10
랜덤으로 리턴될 정수의 범위를 알맞게 변경해준다
0 +1 <= (int) (Math.random()* 10) +1 < 10 +1
▶ 1 <= (int) (Math.random()* 10) +1 < 11
public static void main(String[] args) {
int num = 0; // 랜덤으로 출력될 정수를 저장하기 위한 변수
for( int i=1; i<=10; i++ ){
num = (int)(Math.random()*10) + 1;
System.out.println(i+"번째 "+"랜덤숫자는 " + num + "입니다!" );
}
}