주사위 굴리기
1 ~ 6 숫자중 랜덤으로 하나의 숫자가 나오는 프로그램을 만들어보자!
먼저 1 ~ 6중에서 하나의 수를 뽑아서 출력하는 코드를 작성해야 하는데
임의의 정수를 뽑기위해 Math.random() 메소드를 활용할 수 있다.
이 메소드는 0.0 <= ~ < 1.0 사이의 double 타입 난수를 리턴한다.
0.0 <= Math.random() < 1.0
여기에 각 변에 6을 곱하면 0.0 <= ~ < 6.0 사이의 double 타입 난수를 얻을 수 있다.
(0.0 * 6) <= Math.random() < (1.0 * 6)
(0.0) (6.0)
양 변에 int 타입으로 강제 타입 변환하면 0~5 중에서 하나의 정수를 얻게된다.
(int) 0.0 <= Math.random() < (int) 6.0
마지막으로 양 변에 1을 더하면 1 ~ 6 중에서 하나의 정수를 얻을 수 있다.
(int) 0+1 <= Math.random() < (int) 6+1
1 ~ 6
// 주사위 번호 뽑기
int num = (int) (Math.random()*6) + 1; // 1, 2, 3, 4, 5, 6 중 랜덤으로 숫자를 num에 입력
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 {
System.out.println("6번이 나왔습니다!");
}
이것을 활용하면
start부터 시작하는 n개의 정수중에서 하나의 정수를 얻기 위한 코드를 작성할 수 있다.
int num = (int) (Math.random() * n) + start;
'Java > Java 연습문제' 카테고리의 다른 글
[JAVA] While 문 연습문제 (0) | 2023.07.27 |
---|---|
[JAVA] for문 연습문제 (0) | 2023.07.27 |
[JAVA] 조건문을 활용한 간단한 프로그래밍 (0) | 2023.07.26 |
[JAVA] 연산자 연습문제 (0) | 2023.07.26 |
[JAVA] 형변환 연습문제 2 (0) | 2023.07.25 |