728x90

자바 Math.random() 랜덤함수 이해하기. / 간단예제
자바 프로그램을 배우면서
주사위 처럼 1~6 사이의 임의수를 발생시키는데 (Math.random()*6)+1 이런 문장을 보았습니다.

C에서나 제 생각으론 특정숫자가 나오면 %(나머지연산)을 해서 원하는 범위의 숫자를 구하는게 맞는데.
어떤 숫자든 6으로 나누어서 몫이 아닌 나머지만 취한다면. 0~5의 숫자가 나오기 마련이죠.

자기가 원하는 범위보다 하나 크게 % 연산을 해주면 됬었는데. 이건 곱하기가 나와서 좀 의아 했습니다.


알고 보니 위에서 보이듯, Math.random() 함수는 0~0.999999999999까지의 수를
임의로 발생 시키는 함수인거 같습니다. 0.xx가 나오기 때문에
곱하는 수를 넘지 못하죠. 위에서 처럼 6을 곱하면
0부터 5.xxx 까지 나올 수 있겠죠.

부터 숫자가 나오니까 +1을 해줌으로써
1부터 6까지의 수를 발생시킬 수 있는거죠.
소수점을 버리기 위해 (int)로 형 변환을 시켜주고요.

출처 : http://k-story.tistory.com/104

728x90

'JAVA' 카테고리의 다른 글

Package name must have at least two identifiers  (0) 2012.07.29
안드로이드 개요  (0) 2012.07.29
자바 정렬 알고리즘  (0) 2012.07.29
자바 자료구조  (0) 2012.07.29
Servlet / JSP  (0) 2012.07.29

+ Recent posts