Java 4*4螺旋矩阵,第二次课作业
在chengxu2这个包里
package chengxu2;
public class Luoxuan {
// Luoxuan 螺旋矩阵*4
public static void main(String[] args)
{
// 矩阵的行列数
int n = 4;
int chushi = 1; // 初始化循环开始的数值chushi
int[][] array = new int[n][n]; //做一个n*n的空矩阵
int xunhuan; //螺旋圈数xunhuan
if (n % 2 != 0)
{
xunhuan = n / 2 + 1; // 奇数时i循环次数
}
else {
xunhuan = n / 2; // 偶数时i循环次数
}
for (int i = 0; i < xunhuan; i++) //i为此时循环圈数
{// 从外到里循环xunhuan圈
// 从左到右横
for (int j = i; j < n-i;j++)
{
array[i][j] = chushi;
chushi++;
}
// 从上到下纵
for (int k = i + 1; k < n-i;k++)
{
array[k][n-i-1] = chushi;
chushi++;
}
// 从右到左横
for (int x = n-i-2; x >= i;x--)
{
array[n-i-1][x] = chushi;
chushi++;
}
// 从下到上纵
for (int y = n-i-2; y > i;y--)
{
array[y][i] = chushi;
chushi++;
}
}//for循环结束,此时4*4数组已赋值好
// 输出数组
for (int i = 0; i < n; i++) //每一行
{
for (int j = 0; j < n; j++) //每一列
{
System.out.print(array[i][j] + "\t"); //行数固定,横向输入列值,输完一行
}
System.out.println(); //回车,继续for循环下一行
} //输出结束
}
}