package Array;
import java.util.Arrays;
//다음의 형태로 표현된 2차원 배열이 존재한다고 가정해 보자.
//1 2 3
//4 5 6
//7 8 9
//이러한 형태를 갖는 int형 2차원 배열이 인자로 전달되면, 다음의 형태로 배열의 구조를 변경시키는 메서드를 정의해 보자.
//7 8 9
//1 2 3
//4 5 6
//즉 총 N행으로 이뤄진 2차원 배열이 존재한다면, 메서드 호출 시, 1행은 2행으로 이동이 이뤄져야한다. 이번에도 마찬가지로 배열의 가로, 세로길이에 상관 없이 동작을 하도록 메서드가 정의되어야 하며, 정의된 메서드의 확인을 위한 main메서드도 함께 정의하자.
public class ex3 {
public static int[][] movement(int[][] arr) { // 왜 이 메소드에 static이 들어가야 하는지 모르겠음.
int[] tmp = {};
int[][] arr3 = arr;
for (int i = 0; i < arr3.length; i++) {
for (int j = 0; j < arr3[i].length; j++) {
tmp[j] = arr3[0][j];
arr3[0][j] = arr3[2][j];
arr3[2][j] = arr3[1][j];
arr3[1][j] = tmp[j];
}
}
return returning;
}
static int[][] returning;
public static void main(String[] args) {
int[][] test4 = { { 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 } };
int[][] test5;
test5 = movement(test4);
System.out.println(Arrays.deepToString(test5));
}
}
일단 저거라도 실행해보자 했더니
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 오류뜨고...
뭔가...뭔가 더 있을거 같은데 빡대가리라 답이 안나옵니다ㅠㅠ
반복문에서 저거도 n개로 크기 늘리면 적용 안되는데
그걸 어떻게 구현해야 할지 몰라서 임시로 저렇게 적어놨습니다...
더 이상 생각이 안납니다 도와주십쇼 ㅠ
댓글 0