728x90
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
public class Lotto {
public static void main(String[] args) {
ArrayList number = new ArrayList();
for (int i = 0; i < 6; i++) {
int dValue = (int) (Math.random() * 45) + 1;
number.add(dValue);
for (int j = 0; j < 5; j++) {
if (i > j) {
if (number.get(i) == number.get(j)) {
number.remove(i);
int plus = (int) (Math.random() * 45) + 1;
number.add(plus);
}
}
}
}
Collections.sort(number);
System.out.println(number);
}
}
결론적으로 이렇게 코드를 짰다. 엉망인 거 나도 안다. 최대한 검색 없이 혼자 힘으로 마무리하는 게 목표였고, 목표를 이뤘다.
가장 애먹은 부분은 어떤 방식으로 중복을 삭제하면 좋을지 고민하는 부분이었다.
고민고민 끝에 뽑을 숫자를 순차적으로 리스트에 넣고, 기존 변수보다 숫자가 하나 적은 변수를 만들었다.
그리고 변수 i와 j에 해당하는 인덱스를 전부 비교했다.
비교 후, 동일한 인덱스가 있으면 삭제하고 새로운 랜덤 숫자를 리스트에 삽입했다.
처음이라 어려웠다.
728x90
'언어 > java' 카테고리의 다른 글
[이클립스] Eclipse 빨간줄, 노란줄, 초록줄 형광펜 없애기 (0) | 2023.09.19 |
---|---|
[java] 학생 관리 프로그램 (4) - db 연결 후 select (0) | 2022.04.24 |
[java] 학생 관리 프로그램 (3) - db 연결 후 insert, update, delete (0) | 2022.04.24 |
[java] 학생 관리 프로그램 (2) (0) | 2022.04.24 |
[java] 학생 관리 프로그램 (1) (0) | 2022.04.24 |