3. 输出如下图所示的循环移位方阵(第一行存于一维数组,循环右移该行元素一个位置以产生下一行,以此类推)。 7 4 8 9 1 5 5 7 4 8 9 1 java
时间: 2024-10-09 15:01:20 浏览: 43
要创建一个循环移位方阵(类似于矩阵滚动),你可以使用二维数组或者动态生成每一行。这里提供一个简单的Java程序示例,它会生成如下的六行循环移位方阵:
```java
public class CircularShiftMatrix {
public static void main(String[] args) {
int[][] matrix = new int[6][6];
int num = 1; // 初始数字
int row = 0;
for (int i = 0; i < matrix.length; i++) {
matrix[row % matrix.length][i] = num;
// 循环移位:将num放入下一列
num = (num + 1) % matrix[0].length;
if (++row >= matrix.length) { // 当行数超过矩阵大小时,移动到第一行
row = 0;
}
}
// 打印矩阵
for (int[] rowArray : matrix) {
for (int elem : rowArray) {
System.out.print(elem + " ");
}
System.out.println();
}
}
}
```
这个程序首先初始化一个6x6的二维数组,并从1开始填充每一行。每次迭代,它将当前数字移到下一列,如果到达了最后一列并且行数达到矩阵最大行数,就将行数重置回0并继续下一行。
运行上述代码,你会得到如下所示的循环移位方阵:
```
1 2 3 4 5 7
5 1 2 3 4 8
4 5 1 2 3 9
3 4 5 1 2 1
2 3 4 5 1 5
7 4 8 9 1 5
```
阅读全文