안녕하세요 자바칩 프라푸치노입니다.
오늘은 난수를 발생시켜서 그 시간에 무엇을 해야하는지 확인하는 코드를 만들어보겠습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
package sec01_exam;
public class SwitchEx {
public static void main(String[] args) {
// time의 난수 범위 : 8~11
int time = (int)(Math.random() * 4) + 8;
switch (time) {
case 8:
System.out.println("출근합니다.");
break;
case 9:
System.out.println("회의를 진행합니다.");
break;
case 10:
System.out.println("업무를 봅니다.");
break;
case 11:
System.out.println("외근을 나갑니다..");
break;
default:
break;
}// 만일 break문이 존재하지 않는다면, 아래에서 8이 나오면 case8부터 모두 출력됨.
}
}
|
cs |
Math.random메서드는
0.0 <= Math.random < 1.0 의 double값을 랜덤으로 나타내는 것입니다.
그래서 int형으로 형변환을 하고 4를 곱하고 8을 더했다는 말은
8<= 난수 < 12 의 정수를 랜덤으로 발생시키겠다는 말입니다.
4를 곱하면
0.0 <= 난수 < 4.0
8을 더하면
8.0 <= 난수 < 12.0
이니까요.
케이스들을 보시면
어떤 수가 나왔을때 어떻게 출력을 할 지 나와있습니다.
누를때 마다 이렇게 다른 값이 나옵니다.
회의를 진행합니다가 나왔다는 것은 난수에서 9가 발생되었다는 것이겠지요.
다른 케이스도 똑같이 생각하시면 됩니다.
728x90
'JAVA > java 실습' 카테고리의 다른 글
[자바JAVA] 반복문 for문 으로 total구하기, for문 종단점 설정, variables보기 (0) | 2020.09.25 |
---|---|
[자바JAVA] 조건문 - switch문/ 직급을 입력받아서 월급 출력하기 (0) | 2020.09.24 |
[자바JAVA] 조건문 - 중첩 if문으로 성적 등급 나눠서 표현하기 (0) | 2020.09.23 |
[자바JAVA] 조건문 if, if-else, switch 문 -점수 등급 출력하기, 성별 출력하기 (0) | 2020.09.23 |
[자바JAVA] 참조형 변수의 주소값 비교 , 값 비교 equals (0) | 2020.09.18 |