Cukup unggah kode.
Pertanyaan yang ditemui dalam tes online Tencent tadi malam.
Matriks spiral mengacu pada matriks spiral. Jumlahnya terus tumbuh dari baris pertama ke kanan, dari baris pertama ke kanan, dari ke bawah, dari kiri, dan dari ke atas, dan siklus dengan cara ini.
Impor java.util.scanner; kelas publik mysnakematrix {private int n; // private int a [] []; // mendeklarasikan nilai int private int = 1; // nilai nomor dalam matriks mysnakematrix (int i) {this.n = i; a = baru int [n] [n] [n] [int i) {this.n = i; a = baru int [n] [n] [n] [int i) {this.n = i; a = baru int [n] [n] [ getCorner (int m) {int corner = 1; int o = n - 1; untuk (int i = 0; i <m - 1; ++ i) {sudut += 4 * o; o = o - 2;} pojok pengembalian;} // Jumlah setiap sisi dari setiap lapisan matriks yang dihasilkan, 4 mewakili, 4 DEKATIONAL, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 DEKATIONAL. // O menunjukkan nilai awal dari tepi ini. // x mewakili jumlah angka di setiap tepi sisi m -th private void (int s, int o, int x, int m) {int i = 0; int j = 0; switch (s) {case 1: i = m - 1; j = m - untuk (int k = 0; k <x; ++ k) {a [i] [j+k = k = 0; k <x; ++ k) {a [i [j+k = k = 0; k <x; ++ k) {a [i [j+k = k = 0; k <x; ++ k) {a [i [j+k = k = 0; - 1 +x; for (int k = 0; k <x; ++ k) {a [i +k] [j] = nilai; ++ nilai;} break; kasus 3: i = m - 1 +x; j = m - 1 +x; untuk (int k = 0; k <x; ++ k) {a [i +k] [j] = nilai; nilai 1; ; x ++ k) {a [i - k] [j] = nilai; ++ value;} break;}} // menghasilkan lapisan m -th private void (int m) // m mewakili lapisan mth {int x = n - 1 - (m - 1) * 2; // x mewakili jumlah angka di setiap tepi lapisan pertama yang pertama. + x;int o3 = o2 + x;int o4 = o3 + x;// System.out.println(o4);side(1, o, x, m);side(2, o, x, m);side(3, o, x, m);side(4, o, x, m);}// Generate snake matrix public void snakeMatrix() {int m = (n + 1) / 2;// Hitung berapa banyak lapisan yang ada untuk (int i = 1; i <= m; ++ i) {shell (i);} if (n % 2 == 1) {a [n / 2] [n / 2] = n * n;}} // cetak matriks public void () {for (int i = 0; i <n; ++ i) {for 0; for; f untuk (int (int i = 0; i <n; i) {for (n; f; (A [i] [j] <10) {System.out.print (a [i] [j] + "");} else {System.out.print (a [i] [j] + ");}} System.out.println ();}} public static void main (string args []) {mysnakat mysnem mysnem Mysnem Mysnem Mysnem MysnaT Scanner (System.in) .nextInt ()); // Gunakan pemindai untuk mendapatkan input konsol my.snakematrix (); my.print ();}}Meringkaskan
Di atas adalah semua konten dari artikel ini tentang pemrograman Java untuk mengimplementasikan kode instance matriks spiral, saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke situs ini:
Java Bahasa Deskripsi Struktur Penyimpanan dan Contoh Kode Matriks yang Dekraksensi
JAVA Pemrograman Implementasi Contoh Kode Grafik Padat Matriks yang Berdekatan
Pemrograman Java untuk mengimplementasikan kode lengkap algoritma*
Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!