반올림 연산자 - Math.random()
0.0부터 1.0사이의 임의의 double 값 반환
0.0 <= Math.random() < 1.0
< 1부터 3사이의 정수를 얻으려면? >
1. 각 변에 3 곱하기 ( 범위 : 0.0~2.999 ) // 곱하는값 = 개별 값의 개수
0.0 * 3 <= Math.random() * 3 < 1.0 * 3
0.0 <= Math.random() * 3 < 3.0
2. 각 변을 int형으로 변환 ( 범위 : 0~2 ) // 소수점 아래 잘라주기
(int)0.0 <= (int)(Math.random() * 3) < (int)3.0
0 <= (int)(Math.random() * 3) < 3
3. 각 변에 1을 더한다 ( 범위 : 1~3 )
0 + 1 <= (int)(Math.random() * 3) + 1 < 3 + 1
1 <= (int)(Math.random() * 3) + 1 < 4
Quize 1. ) 1~10 사이의 난수를 20개 출력하시오
// 1,2,3,4,5,6,7,8,9,10
for (int i = 1; i <= 20 ; i++)
System.out.println(Math.random()); // 0.0<=x<1.0
System.out.println(Math.random() * 10); // 0.0<=x<10.0
System.out.println((int)(Math.random() * 10)); // 0<=x<10 (0~9)
System.out.println((int)(Math.random() * 10) + 1); // 1<=x<11 (1~10)
Quize 2. ) -5~5 사이의 난수를 20개 출력하시오
// -5,-4,-3,-2,-1,0,1,2,3,4,5 : 11개
for (int i = 1; i <= 20 ; i++)
System.out.println(Math.random()); // 0.0<=x<1.0
System.out.println(Math.random() * 11); // 0.0<=x<11.0
System.out.println((int)(Math.random() * 11)); // 0<=x<11 (0~10)
System.out.println((int)(Math.random() * 10) - 5); // -5<=x<6 (-5~5)
'JAVA > 자바의 정석' 카테고리의 다른 글
[자바의 정석 - 기초편] 4. (4) 반복문 ( break문 / continue문 / 이름 붙은 반복문 ) (0) | 2023.11.26 |
---|---|
[자바의 정석 - 기초편] 4. (3) 반복문 ( for문 / while문 ) (0) | 2023.11.26 |
[자바의 정석 - 기초편] 4. (1) 조건문 ( if문 / switch문 ) (0) | 2023.11.24 |
[자바의 정석 - 기초편] 3. (2) 연산자 (반올림 / 문자열 비교 / 논리 / 조건 / 대입) (0) | 2023.11.24 |
[자바의 정석 - 기초편] 3. (1) 연산자 (종류 / 우선 순위 / 결합 규칙 / 형변환 / 산술 변환) (0) | 2023.11.24 |