이차원 배열 예제

2차원 배열을 X[i][j]로 쓰는데, 여기서 행 번호와 j는 열 번호를 의미합니다. 참고: 배열크기가 N인 경우 배열에서. 인덱스는 0에서 N-1까지입니다. 따라서 행 인덱스 2행 번호의 경우 2+1 = 3입니다. 2차원 배열은 행렬이라고도 하는 행과 열의 형태로 표시됩니다. 그것은 내가이 예제에 대한 프로그래밍의 일부만 다룰 것입니다 아래 이미지와 같은 구조를 의미합니다. 나는 당신이 전체 소스 코드, Checkers.java를 읽을 것을 권장합니다. 길고 복잡하지만 일부 연구를 통해 사용하는 모든 기술을 이해해야 합니다. 이 프로그램은 상태 기반, 이벤트 기반, 객체 지향 프로그래밍의 좋은 예입니다.

포인터에 2-D 배열을 할당하려면 어떻게해야합니까? 오류가 발생했습니다. 보드의 조각에 대한 데이터는 2차원 배열에 저장됩니다. 프로그램의 복잡성 때문에 여러 클래스로 나누고 싶었습니다. 주 클래스 외에도 여러 중첩 클래스가 있습니다. 이러한 클래스 중 하나는 보드에 대한 데이터를 처리하는 CheckersData입니다. 그래픽 이나 이벤트 처리의 일부에 대 한 직접 책임 되지 않습니다 하지만 그래픽 및 이벤트를 처리 하는 다른 클래스에서 호출할 수 있는 메서드를 제공 합니다. 주로 제가 이야기하고 싶은 이 클래스입니다. 이 모든 것을 감안할 때, 당신은 완전한 getLegalMoves() 방법을 이해할 수있는 위치에 있어야합니다. 1차원 배열, ArrayLists 및 2차원 배열: 위의 배열에는 3개의 행과 4개의 열이 있습니다. 왼쪽에서 오른쪽으로 중괄호의 요소는 왼쪽에서 오른쪽으로도 테이블에 저장됩니다. 요소는 순서대로 배열로 채워지고, 첫 번째 행의 왼쪽에서 처음 4 개 요소, 두 번째 행의 다음 4 개 요소가 채워집니다.

이 장의 마지막 예로 2D 배열을 사용하는 보다 실질적인 예를 살펴보겠습니다. 이것은 우리가 지금까지 발생 한 가장 긴 프로그램, 와 745 코드 줄. 이 프로그램은 두 사용자가 서로에 대해 체커를 재생할 수 있습니다. 체커 게임은 하위 섹션 6.5.1의 예를 기반으로 8 by-8 보드에서 재생됩니다. 플레이어는 체커의 색상 을 따라 „빨간색”과 „검은 색”이라고합니다. 나는 여기에 체커의 규칙을 설명하지 않을거야; 아마도 당신은 프로그램을 시도하여 그들을 배울 수 있습니다. 두 번째 대괄호 집합에 숫자가 없는 경우 모든 요소가 null인 3개의 요소 배열을 만듭니다. 세 행에 대한 자리가 있지만 실제 행이 만들어지지 않았습니다. 그런 다음 행 A[0], A[1]및 A[2]를 개별적으로 만들 수 있습니다. 이 모든 것은 자연스럽게 3차원, 4차원, 심지어 더 높은 차원 배열로 확장되지만 실제로는 자주 사용되지 않습니다. 나는 2 차원 배열에서 특정 요소의 주소를 인쇄하는 C 프로그램이 필요합니다 그것은 arr로 정수 배열 이름이며 4 행과 3 열 행렬을 가지고 있다는 것을 의미합니다.

초기화 2 – 차원 배열: 2차원 배열을 초기화할 수 있는 두 가지 방법이 있습니다.