Contoh dalam artikel ini menjelaskan operasi memutar array dua dimensi di Java dan dibagikan kepada semua orang untuk referensi Anda. Metode implementasi spesifiknya adalah sebagai berikut:
Copy kode kodenya sebagai berikut:
tes paket;
/*
* 1 2 3 4 5
* 16 17 18 19 6
* 15 24 25 20 7
* 14 23 22 21 8
* 13 12 11 10 9
*
* Tulislah metode untuk mencetak array dua dimensi dengan panjang yang sama, yang mengharuskan bilangan asli mulai dari 1 disusun secara spiral dari lingkaran terluar matriks persegi ke dalam.
* */
Tes kelas publik6
{
public static void main(String[] args)
{
jumlah array(4);
}
// Sangat mudah untuk mengubah kode. Masukkan nilai y yang berbeda dan keluarkan array dua dimensi yang berbeda.
nomor array kekosongan statis pribadi (int x)
{
int[][] arr = baru int[x][x];
int len = arr.length, max = 0, hitungan = 0;
specArr(arr, len, maks, hitung);
cetak cetak(arr);
}
// Digunakan untuk pencetakan keluaran tingkat lanjut
arrprint kekosongan statis pribadi(int[][] arr)
{
untuk (int[] di : arr)
{
untuk (int t : masuk)
{
Sistem.keluar.cetak(t + "/t");
}
Sistem.keluar.println();
}
}
private static void specArr(int[][] arr, int len, int max, int count)
{
sementara (len > 0)
{
ke dalam j = 0;
untuk (int indeks = 0; indeks < (len - 1) * 4; indeks++)
{
jika (indeks < len - 1)
arr[0 + hitungan][indeks + hitungan] = ++maks;
else if (indeks < 2 * (len - 1))
arr[hitungan + j++][arr.panjang - 1 - hitungan] = ++maks;
else if (indeks <3 * (len - 1))
arr[arr.panjang - 1 - hitungan][(j--) + hitungan] = ++maks;
else if (indeks < 4 * (len - 1))
arr[arr.length - 1 - (j++) - hitungan][0 + hitungan] = ++maks;
}
jika (len == 1)
{
arr[arr.panjang / 2][arr.panjang / 2] = maks + 1;
}// Perhatikan bahwa jika nilai y adalah bilangan ganjil, akan ada perulangan ke n=1, dan nilai tengah array perlu ditambah.
hitung++;
len = len - 2;
}
}
}
Saya harap artikel ini bermanfaat untuk pemrograman Java semua orang.