코드를 업로드하십시오.
어젯밤 Tencent의 온라인 테스트에서 발생한 질문.
나선형 행렬은 나선형 행렬을 나타냅니다. 그 숫자는 첫 번째 줄에서 오른쪽, 오른쪽에서 오른쪽, 오른쪽, 아래쪽, 왼쪽에서, 위쪽으로 계속 자라며 위쪽으로 자라며이 방식으로 자전거를 타십시오.
import java.util.scanner; public class mysnakematrix {private int n; // private int a [] []; // 행렬 개인 int value = 1; // 매트릭스의 숫자 값 공개 mysnakematrix (int i) {this.n = i; a = new int [n] [n];} // getCorner (int m) {int corner = 1; int o = n -1; for (int i = 0; i <m -1; ++ i) {Corner += 4 * o; o = o -2;} 반환 코너;} // 매트릭스의 각 레이어의 각 측면의 수는 4 가지 방향을 나타냅니다. // o O는이 가장자리의 시작 값을 나타냅니다. // x는 m -th 층의 각 가장자리에있는 숫자의 수를 나타냅니다. 비공개 무효면 (int s, int o, int x, int m) {int i = 0; int j = 0; switch (s) {case 1 : i = m -1; -1 +x; for (int k = 0; k <x; ++ k) {a [i +k] [j] = value; ++ value;} break; 사례 3 : i = m -1 +x; (int k = 0; k <x; ++ k) {a [i +k] [j] = value; ++ value;} break; 사례 3 : i = m -1 +x; x; ++ k) {a [i -k] [j] = value; ++ value;} break;}} // m -th 층 개인 void shell (int m)을 생성합니다. mth 레이어를 나타냅니다. + x; int o3 = o2 + x; int o4 = o3 + x; // system.out.println (o4); 측 (1, o, x, m); 측 (2, o, x, m); 측 (2, o, x, m); 측 (3, o, x, m); 측 (4, o, x, m); (int i = 1; i <= m; ++ i) {shell (i);} if (n % 2 == 1) {a [n / 2] [n / 2] = n * n;}} // 인쇄 행렬 void print () {for (int i = 0; i <n; ++ i) (a [i] [j] <10) {System.out.print (a [i] [j] + "");} else {system.out.print (a [i] [j] + ");}}}}}}}}}}}}}} public static void main (string args []) {mysnakematrix my = New MysnakeMatrix 스캐너 (system.in) .nextint ()); // 스캐너를 사용하여 콘솔 입력을 얻습니다.요약
위의 내용은 인쇄 나선 행렬 인스턴스 코드를 구현하기위한 Java 프로그래밍에 관한이 기사의 모든 내용입니다. 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구들은이 사이트를 계속 참조 할 수 있습니다.
Java 언어 설명 저장 구조 및 인접 매트릭스 코드 예제
인접 매트릭스 표현의 Java 프로그래밍 구현 조밀 한 그래프 코드 예제
* 알고리즘의 전체 코드를 구현하기위한 Java 프로그래밍
단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!