ArrayUtil을 활용하여 Lotto 추첨기 만들기
ArrayUtil 클래스
package util;
// 배열을 사용할 때 도움이 될만한 static 메소드를 모아둔 ArrayUtil 클래스
public class ArrayUtil {
// 1. int[]
// A. size()
public static int size(int[] array) {
return array.length;
}
// B. isEmpty()
public static boolean isEmpty(int[] array) {
return size(array) == 0;
}
// C. get()
public static int get(int[] array, int index) {
return array[index];
}
// D. contains()
public static boolean contains(int[] array, int element) {
for (int i = 0; i < size(array); i++) {
if (element == get(array, i)) {
return true;
}
}
return false;
}
// E. indexOf()
public static int indexOf(int[] array, int element) {
for (int i = 0; i < size(array); i++) {
if (element == get(array, i)) {
return i;
}
}
return -1;
}
// F. add()
public static int[] add(int[] array, int element) {
int[] temp = new int[size(array) + 1];
for (int i = 0; i < size(array); i++) {
temp[i] = get(array, i);
}
temp[size(array)] = element;
return temp;
}
// G. add()
public static int[] add(int[] array, int index, int element) {
int[] temp = new int[size(array) + 1];
for (int i = 0; i < index; i++) {
temp[i] = get(array, i);
}
temp[index] = element;
for (int i = index; i < size(array); i++) {
temp[i + 1] = get(array, i);
}
temp = new int[0];
for (int i = 0; i < size(array); ) {
if (i != index) {
temp = add(temp, get(array, i));
i++;
} else {
temp = add(temp, element);
}
}
return temp;
}
// H. set()
public static int set(int[] array, int index, int element) {
int original = get(array, index);
array[index] = element;
return original;
}
// I. removeByIndex()
public static int[] removeByIndex(int[] array, int index) {
int[] temp = new int[0];
for (int i = 0; i < size(array); i++) {
if (i != index) {
temp = add(temp, get(array, i));
}
}
return temp;
}
// J. removeByElement
public static int[] removeByElement(int[] array, int element) {
return removeByIndex(array, indexOf(array, element));
}
// K. sort()
public static void sort(int[] array) {
for (int i = 0; i < array.length - 1; i++) {
if (array[i] > array[i + 1]) {
int temp = array[i];
array[i] = array[i + 1];
array[i + 1] = temp;
i = -1;
}
}
}
}
Lotto 클래스
package day0111;
import util.ArrayUtil;
import java.util.Random;
// 로또 번호 시뮬레이턴
// ver 5.0
// 동적할당 배열을 사용한 버젼
public class Ex03LottoNumbers05 {
public static void main(String[] args) {
int[] lottoNumbers = new int[0];
Random random = new Random();
while (ArrayUtil.size(lottoNumbers) < 6) {
int temp = random.nextInt(45) + 1;
if (!ArrayUtil.contains(lottoNumbers, temp)) {
lottoNumbers = ArrayUtil.add(lottoNumbers, temp);
}
}
ArrayUtil.sort(lottoNumbers);
for (int i = 0; i < lottoNumbers.length; i++) {
System.out.println(lottoNumbers[i]);
}
}
}
'JX405기_비트 > Java' 카테고리의 다른 글
| Day04-2 MVC 패턴을 활용하여 로그인 프로그램 만들기 (0) | 2023.01.16 |
|---|---|
| Day04-1 3일차에 숙제 문제 정답 공유 (0) | 2023.01.16 |
| Day03-2 Board 클래스에 생성자와 메소드 선언하여 게시판관리 프로그램 만들기 (0) | 2023.01.15 |
| Day03-1 클래스의 생성자, 메소드 정의하기 (0) | 2023.01.15 |
| Day02-10 Muti Array 다차원 / Lotto 추첨기 ver 4.0 - 2차원 배열 사용하기 (0) | 2023.01.15 |