본문 바로가기
알고리즘 문제 풀이/기타

(Java )로또 번호 생성 문제

by kakk789 2022. 3. 31.
- 6가지 숫자를 랜덤하게 생성
- 오름차순으로 정리 (3번 과정)
- 중복 값 제거 (for문의 i++ 증감연산자를 따로 빼서 선언하여 중복 여부 확인(1번, 2번과정))
- Random 함수 이용
--- 출력문 ---
7 9 21 23 26 36
		int []data = new int[6];
		
		Random r = new Random();
		
		for(int i=0; i<data.length;) {
			int n = r.nextInt(45)+1; 
			
			// 1번) 발생한 난수 n이 존재하는지 확인
			int j;
			for (j=0; j<i; j++) {
				if(n==data[j]) {
					break; // 이럴경우 i++가 되지 않고 다시 난수를 만드는것
				}
			} //end for j
			
			//2번) 1번 반복문 끝까지 실행했는지 여부 = 중복된 값이 없었다.
			if(j==i) {
				data[i] =n;
				i++;
			}

		}//end for i
		
		//3번) 정렬하기
		for(int i=0; i<data.length;i++) {
			for(int j=i+1; j<data.length; j++) {
				if(data[j] < data[i]) {
					int temp = data[i];
					data[i] = data[j];
					data[j]= temp;
				}
			}
		}
		
		//4번) 출력하기
		for(int i=0; i<data.length; i++) {
			System.out.print(data[i]+" ");
		}
반응형

댓글