자바 - 2차원 배열 정렬 (오름차순, 내림차순, 다중 조건)
자바의 2차원 배열을 Arrays.sort() 를 통해 곧바로 정렬하려고 하면 java.lang.ClassCastException: I cannot be cast to java.lang.Comparable 오류가 발생한다. 오류 문구와 같이 비교 기준이 없어 캐스팅에 실패하기 때문이다. 예시와 같이 Comparable, Comparator 인터페이스를 구현하여 정렬 기준을 추가해줘야 한다. 1. 오름차순, 내림차순 정렬 int[][] arr = new int[][]{{1, -1}, {2, 2}, {3, 3}, {1, 2}, {0, 4}} Arrays.sort(arr, new Comparator() { @Override public int compare(int[] o1, int[] o2) { return ..
2023. 3. 15.
자바 - 객체지향퀴즈
요구사항 1. 사람은 자식, 부모님, 조부모님이 있다. 2. 모든 사람은 이름, 나이, 현재 위치 정보(x, y 좌표)가 있다. 3. 모든 사람은 걸을 수 있다. 특정 위치(x, y 좌표)로 이동한다. 4. 자식과 부모님은 달랄 수 있다. 특정 위치(x, y 좌표)로 이동한다. 5. 조부모님의 기본속도는 1이다. 부모님의 기본속도는 3, 자식의 기본속도는 5이다. 6. 달릴 때의 속도는 기본속도 대비 +2 만큼 빠르다. 7.수영할 때의 속도는 기본속도 대비 +1만큼 빠르다. 8. 자식만 수영을 할 수 있다. 특정 위치(x, y 좌표)로 이동한다. main 함수 동작 조건 1. 모든 종류의 사람 인스턴스는 각각 1개씩 생성한다. 2. 모든 사람의 처음 위치는 x=0, y=0 이다. 3. 모든 사람의 이름,..
2023. 2. 20.