# 파라미터가 없는 메소드 #### CODE <a class='btn btn-default' href='/codes/67088'>Link</a> ``` public class Random { public static void main(String[] args) { // 메소드로부터 값을 반환 int x = rollDie(); // 결과 출력 System.out.printf("주사위의 눈: %d", x); } // 1~6 사이의 임의의 정수를 반환 public static int rollDie() { /* 해당 메소드를 완성하시오. */ return (int)Math.random()*6+1; } } ``` #### INPUT ``` ``` #### OUPUT ``` 주사위의 눈: 1 ``` 질문 있습니다 return이 값을 받으려면 먼저 Math.random 에서 0.0~0.9가나오고 곱하기 로 0.0 0.6 1.2 1.8 2.4 3.0 3.6 4.2 4.8 5.4 가 나옵니다. 캐스팅으로 정수값을 가져오니 0,0,1,1,2,3,3,4,4,5 거기서 +1을 하면 1,1,2,2,3,4,4,5,5,6 이렇게나오면 1~6까지는 다 들어가는데 확률로는 1: 20% 2:20% 3:10% 4:20% 5:20% 6:10% 이나오는데 같은 확률로는 맞출수 없는건가요?
## Math.random() 은 균등한 확률 분포(uniform distribution)를 지닙니다. 따라서, 1~6사이의 정수는 모두 일정한 확률을 가집니다. ``` // 1~6 사이의 임의의 정수를 반환 public static int rollDie() { return (int) (Math.random() * 6 + 1); } ```
네 감사합니다