본문 바로가기

JAVA/쓸만한 코드

swit[ ] 로 겹치는 랜덤숫자 제거

가상배열 swit[] 를 10자리 만들고

모두 false로 잡아 놓은 후

랜덤숫자 r을 인덱스번호에 대입하여 겹치지 않아 false가 나올경우

해당위치는 true로 초기화한다.

 

while문을 사용하여 마지막에 인덱스넘버 w++; 해준다

->  for문을 이용해 랜덤넘버를 r_num[i] 를 출력해주면 끝

 

		int r_num[] = new int[3];

		boolean swit[] = new boolean[10];	//숫자0~9 //스위치 on/off로 나누어 중복계산
				
		for (int i = 0; i < swit.length; i++) {
			swit[i] = false;	// 00000 00000
		}
		clear = false;
		
		int r, w;	//r은 랜덤넘버	//w는 인덱스넘버		
		w = 0; 
				
		while(w < 3) {
			r = (int)(Math.random() * 10);	// 0 ~ 9
			if(swit[r] == false) {
				swit[r] = true;		// 00100 00000
				r_num[w] = r + 1;			// 1 ~ 10
				w++;