IT/Java

배열만으로 로또 중복제거 및 정렬

알라이또 2017. 1. 21. 11:50
반응형

정렬 생각 과정

1. 서로다른 두개의 변수를 바꾸기.

2. 배열에서 인접한 변수 두개의 값을 비교해서 크면 오른쪽에 옴기기

3. 이걸 배열크기만큼 해주면 정렬이 됨. 


package study;
import java.util.Random;
public class LottoSchool {
public static void main(String[] args) {
int[] lotto = new int[6];
Random rand = new Random();
// 로또 번호 중복없이 생성하기
for (int i = 0; i <  lotto.length; i++) {
lotto[i] = rand.nextInt(45+ 1;
for (int j = 0; j < i; j++) {
while (lotto[i] == lotto[j]) { //다르게 나올때까지 계속
lotto[i] = rand.nextInt(45+ 1;
= 0// 같은게 나왔을때, 첨부터 다시 비교
}
}
System.out.print(lotto[i] + " ");
}
for(int k=0;k<5;k++) { //모두 정렬
for (int i = 0; i < 5; i++//대빵뽑기
if (lotto[i] > lotto[i+1]) {  // 앞값이 뒷값보다 크면 자리바꾸기
int temp = 0;
temp = lotto[i];
lotto[i] = lotto[i+1];
lotto[i+1= temp;
}
}
// 로또 번호 출력하기
System.out.println("\n--------------------");
for (int e : lotto) {
System.out.printf("%d ", e);
}
}
}