#파라미터가 없는 메소드 ## CODE <a class='btn btn-default' href='/codes/5301'>Link</a> ``` public class Random { public static void main(String[] args) { // 메소드로부터 값을 반환 int x = rollDice(); // 결과 출력 System.out.printf("주사위의 눈: %d", x); } // 1~6 사이의 임의의 정수를 반환 public static int rollDice() { double x = Math.random(); int num = (int) (x * 6); return num + 1; } } ``` ## INPUT ``` ``` ## OUPUT ``` 주사위의 눈: 1 ``` double x = Math.random(); 여기에 왜 더블이 와야하나요?
## Math.random() 메소드의 반환 타입은 double 입니다. Math.random() 메소드는 자바에서 제공하는 기능입니다. 따라서 정해진 규칙대로 사용해야 합니다. 자바에서 제공하는 API 문서에 따르면, Math.random의 반환 타입은 double임을 명시하고 있습니다. 아래 링크에서 random() 메소드를 검색해보세요. - https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html ## PS 따라서 Math.random() 의 결과는 double 타입 변수로 받아야 합니다.int의 경우 더 큰 타입인 double을 받아올 수 없습니다. ``` double a = Math.random(); // OK int b = Math.random(); // 타입 불일치로 에러 발생!! ```