1. ArrayList (지금은 외우기)
// 배열 vs 컬렉션
// int -> Integer
// double -> Double
// String은 그대로
ArrayList<Integer> arr = new ArrayList();
// 배열 추가 : 배열 이름.add
arr.add(1);
arr.add(3);
arr.add(5);
// 배열 출력 : 배열 이름.get
System.out.println(arr.get(0));
System.out.println(arr.get(1));
System.out.println(arr.get(2));
2. 노가다 코드
package algo;
import java.util.Random;
public class Lotto01 {
public static void main(String[] args) {
// 1. 랜덤 함수, 배열 선언
Random rand = new Random();
int[] arr = new int[6];
// 2. 로또 번호 받기
int n;
// 1회전
n = 30;
arr[0] = n;
// 2회전
n = 27;
arr[1] = n;
// 3회전
n = 20;
arr[2] = n;
// 4회전
n = 17;
arr[3] = n;
// 5회전
n = 13;
arr[4] = n;
// 6회전
n = 2;
arr[5] = n;
System.out.println(arr[0] + "," + arr[1] + "," + arr[2] + "," + arr[3] + "," + arr[4] + "," + arr[5]);
}
}

3. 랜덤값 가져오기
package algo;
import java.util.Random;
public class Lotto01 {
public static void main(String[] args) {
// 1. 랜덤 함수, 배열 선언
Random rand = new Random();
int[] arr = new int[6];
// 2. 로또 번호 받기
for (int i = 0; i < arr.length; i++) {
// 랜덤하게 나온 수를 arr[i]에 저장 (i = 번지수)
arr[i] = rand.nextInt(45) + 1; // 0부터 44까지 나온 수에 +1을 하면 1부터 45가 된다. (범위 지정)
}
// 출력
System.out.println(arr[0] + "," + arr[1] + "," + arr[2] + "," + arr[3] + "," + arr[4] + "," + arr[5]);
}
}

4. 버블 정렬 사용(오름차순으로 정렬)
package algo;
import java.util.Random;
public class Lotto01 {
public static void main(String[] args) {
// 1. 랜덤 함수, 배열 선언
Random rand = new Random();
int[] arr = new int[6];
// 2. 로또 번호 받기
for (int i = 0; i < arr.length; i++) {
// 랜덤하게 나온 수를 arr[i]에 저장 (i = 번지수)
arr[i] = rand.nextInt(45) + 1; // 0부터 44까지 나온 수에 +1을 하면 1부터 45가 된다. (범위 지정)
}
// 정렬
Util.bubble(arr); //Util.bubble(배열이름)
// 출력
System.out.println(arr[0] + "," + arr[1] + "," + arr[2] + "," + arr[3] + "," + arr[4] + "," + arr[5]);
}
}

5. 중복 제거
package algo;
import java.util.Random;
public class Lotto04 {
public static void main(String[] args) {
// 1. 랜덤 함수, 배열 선언
Random rand = new Random();
int[] arr = new int[6];
// 2. 로또 번호 받기
for (int a = 0; a < 5; a++) { // 출력문을 반복하기 위한 for문 작성
for (int i = 0; i < arr.length; i++) { // 배열의 길이만큼 반복
// 랜덤하게 나온 수를 arr[i]에 저장 (i = 인덱스)
arr[i] = rand.nextInt(45) + 1; // 0부터 44까지 나온 수에 +1을 하면 1부터 45가 된다. (범위 지정)
for (int j = 0; j < i; j++) { // i와 j는 인덱스
if (arr[i] == arr[j]) { // 만약 i 인덱스의 수와 j 인덱스의 수가 같다면
i--; // i를 감소시켜 i 인덱스에 다시 숫자를 생성
break; // break 문이 없으면, 내부 루프가 끝까지 실행되어 불필요한 반복이 발생
}
}
}
// 정렬
Util.bubble(arr); //Util.bubble(배열이름)
// 출력
System.out.println(arr[0] + "," + arr[1] + "," + arr[2] + "," + arr[3] + "," + arr[4] + "," + arr[5]);
}
}
}

Share article