Module: AP 컴퓨터 과학 섹션 II 2015


Problem

2/4

뒤집다

Problem

이 질문은 1차원 및 2차원 배열을 조작합니다. 파트 (a)에서는 1차원 배열의 요소를 반전시키는 메서드를 작성합니다. 파트 (b)와 (c)에서는 2차원 배열의 요소를 뒤집는 방법을 작성합니다.

(a) 정적 reverseArray 메소드를 포함하는 다음 불완전한 ArrayUtil 클래스를 고려하십시오.
ArrayUtil 메서드 reverseArray를 작성합니다. 예를 들어 arr이 배열 {2,7,5,1,0}인 경우 reverseArray를 호출하면 arr이 {0,1,5,7,2}로 변경됩니다. 아래의 reverseArray 메소드를 완료하십시오.

/** 배열 arr의 역방향 요소
* 전제 조건: arr.length > 0.
* 사후 조건: arr의 요소가 반전되었습니다.
* @param arr 조작할 ​​배열
<엠>*/
public static void reverseArray(int[] 도착)

b) 정수의 2차원 행렬을 나타내는 다음과 같은 불완전한 Matrix 클래스를 고려하십시오. 행렬에 적어도 하나의 정수가 포함되어 있다고 가정합니다.
매트릭스 메서드 reverseAllRows를 작성합니다. 이 메서드는 각 행의 요소를 뒤집습니다. 예를 들어, mat1이 Matrix 객체를 참조하는 경우 mat1.reverseAllRows() 호출은 아래와 같이 행렬을 변경합니다.

reverseAllRows를 작성할 때 part(a)에서 reverseArray 메서드를 호출해야 합니다. (a) 부분에서 작성한 내용에 관계없이 reverseArray가 올바르게 작동한다고 가정합니다. 아래의 reverseAllRows 메서드를 완료하세요.

/** 매트의 각 행에 있는 요소를 뒤집습니다.
* 사후 조건: 각 행의 요소가 반전되었습니다.
<엠>*/
공개 무효 reverseAllRows()

 c) Matrix 메서드 reverseMatrix를 작성합니다. 이 방법은 행 주요 순서로 읽을 때 행렬의 마지막 요소가 맨 아래 모서리에서 오른쪽에서 왼쪽으로 위쪽으로 읽을 때 원래 요소와 동일하도록 행렬의 요소를 반전시킵니다. 다시 mat1을 Matrix 객체에 대한 참조로 둡니다. mat1.reverseMatrix() 호출은 아래와 같이 행렬을 변경합니다.


reverseMatrix를 작성할 때 (b) 부분에서 reverseAllRows 메서드를 호출해야 합니다. reverseAllRows는 (b) 부분에서 작성한 내용에 관계없이 올바르게 작동한다고 가정합니다. 아래의 reverseMatrix 메서드를 완료하세요.
 
/** 매트의 요소를 뒤집습니다.
* 사후 조건:
* - 행 주요 순서로 읽을 때 mat의 마지막 요소
*는 읽을 때 매트의 원래 요소와 동일
* 하단 모서리에서 오른쪽에서 왼쪽으로, 위로 올라갑니다.
* - mat[0][0]은 원래 마지막 요소를 포함합니다.
* - mat[mat.length-1][mat[0].length-1]에는 이전 내용이 포함되어 있습니다
* 원래 첫 번째 요소입니다.
<엠>*/
공개 무효 reverseMatrix()