문제
* 로또번호 생성기
* 6칸 짜리 정수 배열을 하나 생성하고
* 1부터 45까지의 중복되지 않는 난수를 발생시켜 각 인덱스에 대입한 뒤
* 오름차순 정렬하여 출력하세요
작성한 코드
int[] rotoNum = new int[6]; //배열 선언 및 할당
for (int i = 0; i <= 5; i++) {
/* 로또 번호 랜덤 생성 후 배열에 값 저장 */
rotoNum[i]= (int)(Math.random() * 45 + 1);
/*중복검사*/
for (int j = 1; j < i; j++) {
if(rotoNum[i] == rotoNum[j]) {
i--; //중복이 있을경우 다시 반복
}
}
}
/*로또번호 오름차순 정렬*/
Arrays.sort(rotoNum);
/*향상된 for문을 통해 배열의 값 출력*/
for(int i :rotoNum) {
System.out.print(i +" ");
}
}
}
배열 정렬 Arrays.sort()로 해결했지만, 순차정렬로 배열의 값을 임시변수에 담고 주고받는 방식 다시한번 복습하자.
순차정렬 for문으로 작성할 수 있게 복기하기!!!!
배열 수업이 너무 후루룩 지나가서 머릿속에 각인된게 없고 막상 문제가 주어지면 좀 얼타는 듯... 반복학습하자ㅠㅠ
+2022.01.08 내용 추가
(컬렉션 - TreeSet을 이용한 로또 번호 오름차순 출력하기 )
/* 로또 번호 발생기 (TreeSet의 특징 이용) */
Set<Integer> lotto = new TreeSet<>();
while(lotto.size() < 6) {
lotto.add((int)(Math.random() * 45) + 1);
}
System.out.println("lotto : " + lotto);
'백엔드 과정 > Java' 카테고리의 다른 글
[Java] day12. 객체배열 (0) | 2022.01.04 |
---|---|
[Java] day11. 오버로딩 / Static (0) | 2022.01.03 |
[Java] day10. 클래스와 객체 / 캡슐화 / 생성자 (0) | 2021.12.29 |
[Java] day9. 배열을 복사하는 방법 얕은복사/깊은 복사 (0) | 2021.12.28 |
Java 문제풀이 4-4. 학생들 분단 나누기. 다차원 배열 문제 (0) | 2021.12.27 |