# 돈 놓고 돈 먹기
Math.random 부분에 왜 6을 곱하는지 모르겠습니다. 0에서 1사이니깐 5를 곱하고 1을 더해야 되는것 아닌가요??
그리고 이걸 정수형태로 바꾸지 않아도 되는지 여쭤보고 싶습니다.
#### CODE <a class='btn btn-default' href='/codes/56928'>Link</a>
```
public class Gamble {
public static void main(String[] args) {
double dollar = dice() + dice() + dice();
double won = exchange(dollar);
System.out.printf("획득 금액: $%.2f(%.0f원)", dollar, won);
}
public static int dice() {
/* Math.random() 메소드를 활용하여 1~6 사이의 정수를 반환하도록 하시오 */
return (int) Math.random() * 5 + 1;
}
public static double exchange(double dollar) {
/* 입력받은 달러를 환전하여 반환 하시오 */
return dollar * 1082.25108;
}
}
```
#### INPUT
```
```
#### OUPUT
```
획득 금액: $3.00(3247원)
```
sehongpark님의 답변
### Math.random()의 값을 x라 하면,
x의 범위는 0 <= x < 1 인 실수입니다.
여기서 포인트는 1을 포함하지 않는다는 점인데요.
최대 0.999999999999 정도로 생각하면 좋습니다.
따라서 6x 의 범위는 0 <= 6x < 5.9999999 가 되고,
(int) 6x 의 범위는 0 <= (int) 6x <= 5 인 정수가 됩니다.
여기에 주사위 값을 만들어야 하므로
1을 더해주면 원하는 주사위 값을 얻을 수 있습니다.