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;j = 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);}}}