Java에서의 random 함수는 Math.random()과 java.util.Random이 있습니다.
Math.random()은 용법이 예전 basic이나 c언어의 random함수들과 비슷해서 많이 이용하게 됩니다. 0<=Math.random()<1 사이의 값을 리턴하게 됩니다.
그래서 범위의 random값을 꺼낼려면 함수를 좀 만들어야합니다.
여기에서는 getRandomWithSize, getRandomWithEnd 두게의 메소드를 만들었습니다.
getRandomWithSize(5,3) 는 5부터 시작하는 3개의 숫자에 대해서 random숫자를 생성해 냅니다. 결국 => {5,6,7} 이 됩니다.
getRandomWithEnd(5,7) 는 5부터 7(포함)사이의 숫자의 random을 생성하게 됩니다. => {5,6,7} 동일한 결과를 볼 수 있습니다.
참고 Math.random()은 seed는 설정 하지 못하지만, 테스트해보니 실행할때 마다 다른 결과를 만들어 냅니다. (Eclipse 재시작 시에도 실행 할때마다 다른값을 만들어 냅니다.)
seed가 필요하다면 java.util.Random 인자를 살펴보기 바랍니다.
소스
package testProject; public class RandomTest { public static void main(String[] args) { randomtest(); } public static int randomtest() { for(int i=0;i<50;i++){ System.out.print(getRandomWithSize(5,3)+" "); } System.out.println(" "); for(int i=0;i<50;i++){ System.out.print(getRandomWithEnd(5,7)+" "); } System.out.println(" "); return 0; } // getRandomWithSize(0,3) => (0,1,2) // getRandomWithSize(5,3) => (5,6,7) public static int getRandomWithSize(int start,int size) { return (int)(Math.random()*size)+start; } // getRandomWithEnd(0,2) => (0,1,2) // getRandomWithEnd(5,7) => (5,6,7) public static int getRandomWithEnd(int start,int end) { return (int)(Math.random()*(end-start+1))+start; } }
결과
5 7 5 5 7 5 7 7 5 7 6 6 6 5 5 6 5 6 7 6 6 7 7 5 5 6 7 6 7 6 7 5 7 6 5 7 6 7 5 6 5 7 5 5 6 6 5 5 5 7 5 6 6 6 5 6 6 6 5 5 7 7 6 7 6 7 7 6 6 6 5 7 5 6 6 7 5 5 6 6 5 5 6 5 7 6 7 7 7 5 5 5 7 5 5 7 6 5 7 7
댓글 없음:
댓글 쓰기