Math.random() 함수
Math.random()함수를 이용해 뽑을 수 있다.
0.0은 범위에 포함되고 1.0은 포함되지 않는다. 이것을 비교연산자로 표현하면 아래와 같다.
0.0 <= Math.random() < 1.0
그렇다면 1~10 사이의 정수 중에서 하나의 정수를 얻기 위해 각 변에 10을 곱하면 다음과 같은 범위에 속한느 하나의
double 타입의 값을 얻을 수 있습니다.
0.0 * 10 <= Math.random() * 10 < 1.0 * 10
이 상태에서 각 변을 int 타입으로 강제 타입 변환하면 다음과 같은 범위에 속하는 하나의 정수값을 얻을 수 있습니다.
(int) 0.0 <= (int) (Math.random() * 10 ) < (int) 10.0
이 상태에서 각 변을 1을 더하면 비로소 1~10 사이의 정수 중에서 하나의 정수를 얻게 된다.
0 + 1 <= (int) (Math.random() * 10 ) + 1 < 10 + 1
이와 같이 start부터 시작하는 n개의 정수 중에서 임의의 정수 하나를 얻기 위한 연산식을 다음과 같이 만들 수 있다.
int num = (int)(Math.random()*n) + start;
이를 통해 주사위 번호 하나를 뽑기 위해서는 이런 연산식을 사용할 수 있다.
int num = (int) (Math.random() * 6 ) + 1;
'Java > Java' 카테고리의 다른 글
[Java]for문 변형 (0) | 2022.11.10 |
---|---|
[Java]switch문 (0) | 2022.11.10 |
[Java]Math.random()이란 ? (0) | 2022.11.10 |
[Java]toCharArray[]란 ? (0) | 2022.11.08 |
[Java]산술 연산자(+,-,*,/,%) (0) | 2022.11.08 |
댓글