: JAVA의 Math.random() 메소드를 통해 주사위를 던졌을 때 나오는 랜덤 숫자의 결과를 구현
: 0.0과 0.1 사이의 있는 무작위의 숫자(Double타입, 실수)를 리턴해주는 자바의 함수
: 먼저, Math.random()의 기본 범위는 0.0 ~ 0.999999999...로 이루어져 있다.
- 범위 : 0.0 <= Math.random() < 1.0 (0.0 포함, 1.0 미포함)
1. Math.random()*숫자 를 곱해 최대값 정하기
: 곱해준 숫자보다 0.*******... 작은 값이 반환된다.
ex) Math.random()*6 의 최대값 = 5.9999999...
2. int 타입으로 강제 타입 변환 (Casting)
: Math.random()의 기본값은 실수이기 때문에 정수로 변환해줘야 한다.
ex) (int) (Math.random()*6) 의 최대값 = 5
3. 뒤에 +숫자 더해주기
: 원하는 범위가 6이라고 했을 때, Math.random()*6을 하면 1~6까지 나오는 것이 아니라 위의 예시처럼 1~5의 숫자가 나오기 때문에
뒤에 +1을 더해주어야 비로소 1~6까지의 결과가 나온다.
ex) (int) (Math.random()*6) +1 의 범위 = 1~6
오늘의 코드 작성 방법은 2가지
1.if문을 이용한 방법 2.switch문을 이용한 방법 < 조건 : 주사위를 굴렸을 때 특정 숫자가 나올 확률은 1/6 >
public class IfRandom {
public static void main(String[] args) {
int num = (int) (Math.random()*6) +1;
if (num == 1) {
System.out.println("1번 당첨!");
} else if (num == 2) {
System.out.println("2번 당첨!");
} else if (num == 3) {
System.out.println("3번 당첨!");
} else if (num == 4) {
System.out.println("4번 당첨!");
} else if (num == 5) {
System.out.println("5번 당첨!");
} else if (num == 6) {
System.out.println("6번 당첨!");
}
System.out.println("주사위 던지기를 종료합니다.");
}
3번 당첨!
주사위 던지기를 종료합니다.
(번호는 실행 시 계속해서 랜덤으로 바뀐다.)
public class SwitchRandom {
public static void main(String[] args) {
int num = (int) (Math.random()*6) +1;
switch(num) {
case 1:
System.out.println("1번 당첨!");
break;
case 2:
System.out.println("2번 당첨!");
break;
case 3:
System.out.println("3번 당첨!");
break;
case 4:
System.out.println("4번 당첨!");
break;
case 5:
System.out.println("5번 당첨!");
break;
case 6:
System.out.println("6번 당첨!");
break;
default:
System.out.println("그 외");
break;
}
System.out.println("주사위 던지기를 종료합니다.");
}
2번 당첨!
주사위 던지기를 종료합니다.
(번호는 실행 시 계속해서 랜덤으로 바뀐다.)