java 기말 > 자료실

본문 바로가기

java 기말

필기자
2025-12-25 00:36 4 0

본문


// 1번 문제
public class IntegerArrayList implements IntegerListInterface {
    int numItem = 0;
    Integer[] item = new Integer[10];
    // 2번 문제
    @Override
    public IntegerListInterface add(int index, Integer x) {
        if (numItem >= item.length || index < 0 || index > numItem) {
            System.out.println("아이템을 입력할 수 없습니다.");
        } else {
            for (int i = numItem; i > index; i--) {
                item[i] = item[i - 1];
            }
            item[index] = x;
            numItem++;
        }
        return this;
    }
    // 3번 문제
    @Override
    public IntegerListInterface remove(int index) {
        if (numItem == 0 || index < 0 || index >= numItem) {
            System.out.println("아이템에 원소가 없습니다.");
        } else {
            for (int i = index; i < numItem - 1; i++) {
                item[i] = item[i + 1];
            }
            item[numItem - 1] = null;
            numItem--;
        }
        return this;
    }
    // 4번 문제
    @Override
    public Boolean removeItem(Integer x) {
        boolean isRemove = false;
        for (int i = 0; i < numItem; i++) {
            if (item[i].equals(x)) {
                remove(i);
                isRemove = true;
                break;
            }
        }
        return isRemove;
    }
    // 5번 문제
    @Override
    public Integer get(int index) {
        if (index < 0 || index >= numItem) {
            return null;
        }
        return item[index];
    }
    // 6번 문제
    @Override
    public IntegerListInterface append(Integer x) {
        if (numItem >= item.length) {
            System.out.println("용량이 가득 찼습니다.");
        } else {
            item[numItem++] = x;
        }
        return this;
    }
    // 7번 문제
    @Override
    public IntegerListInterface set(int index, Integer x) {
        if (index < 0 || index >= numItem) {
            System.out.println("해당 인덱스에 원소가 없습니다.");
        } else {
            item[index] = x;
        }
        return this;
    }
    // 8번 문제
    @Override
    public int indexOf(Integer x) {
        for (int i = 0; i < numItem; i++) {
            if (item[i].equals(x)) {
                return i;
            }
        }
        return -1;
    }
    // 9번 문제
    @Override
    public int len() {
        return numItem;
    }
    // 10번 문제
    @Override
    public boolean isEmpty() {
        return numItem == 0;
    }
    // 11번 문제
    @Override
    public void clear() {
        for (int i = 0; i < numItem; i++) {
            item[i] = null;
        }
        numItem = 0;
    }
    // 12번 문제
    @Override
    public void arraySort(int type) {
        for (int i = 0; i < numItem - 1; i++) {
            for (int j = i + 1; j < numItem; j++) {
                if ((type == 1 && item[i] > item[j]) ||
                    (type == 0 && item[i] < item[j])) {
                    int temp = item[i];
                    item[i] = item[j];
                    item[j] = temp;
                }
            }
        }
    }
    // 13번 문제
    @Override
    public void arrayPrint() {
        System.out.print("[ ");
        for (int i = 0; i < numItem; i++) {
            System.out.print(item[i] + " ");
        }
        System.out.println("]");
    }
}
// 14번 문제
public interface IntegerListInterface {
    IntegerListInterface add(int index, Integer x);
    IntegerListInterface remove(int index);
    Boolean removeItem(Integer x);
    Integer get(int index);
    IntegerListInterface append(Integer x);
    IntegerListInterface set(int index, Integer x);
    int indexOf(Integer x);
    int len();
    boolean isEmpty();
    void clear();
    void arraySort(int type);
    void arrayPrint();
}
public class IntegerListMain {
    // 15번 문제
    public static void main(String[] args) {
        IntegerListInterface ll = new IntegerArrayList();
        ll.add(0, 10)
          .add(1, 20)
          .add(2, 30)
          .remove(1)
          .append(40)
          .append(50)
          .set(2, 99);
        ll.arraySort(1);
        ll.arrayPrint();
        System.out.println(ll.indexOf(99));
        System.out.println(ll.get(2));
        System.out.println(ll.removeItem(40));
        System.out.println(ll.len());
        System.out.println(ll.isEmpty());
        ll.clear();
        ll.arrayPrint();
        ll.append(5).append(1).append(3);
        ll.arraySort(0);
        ll.arrayPrint();
    }
}

댓글목록0

등록된 댓글이 없습니다.
게시판 전체검색