Пример в этой статье описывает операцию вращения двумерного массива в Java и доступен всем для справки. Конкретный метод реализации заключается в следующем:
Скопируйте код кода следующим образом:
тест упаковки;
/*
* 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
*
* Напишите метод для печати двумерного массива одинаковой длины, требующий, чтобы натуральные числа, начиная с 1, располагались по спирали от самого внешнего круга квадратной матрицы внутрь.
* */
публичный класс Test6
{
public static void main(String[] args)
{
массив (4);
}
// Легко изменить код. Вводить разные значения y и выводить разные двумерные массивы.
частный статический void arraynum (int x)
{
int[][] arr = новый int[x][x];
int len = arr.length, max = 0, count = 0;
specArr(arr, len, max, count);
Аррпринт (обр);
}
// Используется для расширенной печати вывода
частный статический void arrprint(int[][] arr)
{
для (int[] в: arr)
{
для (int t: in)
{
System.out.print(t + "/t");
}
Система.out.println();
}
}
Private static void specArr(int[][] arr, int len, int max, int count)
{
пока (длин > 0)
{
интервал j = 0;
for (int index = 0; index < (len - 1) * 4; index++)
{
если (индекс < длина - 1)
arr[0 + счетчик][индекс + счетчик] = ++макс;
иначе если (индекс < 2 * (длина - 1))
arr[count + j++][arr.length - 1 - count] = ++max;
иначе если (индекс < 3 * (длина - 1))
arr[arr.length - 1 - count][(j--) + count] = ++max;
иначе если (индекс < 4 * (длина - 1))
arr[arr.length - 1 - (j++) - count][0 + count] = ++max;
}
если (длина == 1)
{
arr[длина_приема / 2][длина_приема / 2] = макс + 1;
}// Обратите внимание: если значение y является нечетным числом, произойдет цикл до n=1, и среднее значение массива необходимо дополнить.
считать++;
лен = лен - 2;
}
}
}
Я надеюсь, что эта статья будет полезна каждому, кто занимается программированием на Java.