用Java实现输入任意的两个正整数m 和n(m n),构造m n “之字形”矩阵
时间: 2024-10-19 07:14:09 浏览: 28
在Java中,你可以使用嵌套循环来构建一个“之字形”矩阵。这种矩阵的特点是元素按照“Z”字型从左上角开始按行递增,然后向下移动一行,再向右一个单元格,直到填充完整个矩阵。下面是创建这样一个矩阵的步骤:
```java
import java.util.Scanner;
public class ZigzagMatrix {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入矩阵的行数m:");
int m = scanner.nextInt();
System.out.println("请输入矩阵的列数n:");
int n = scanner.nextInt();
// 创建一个二维数组来存储矩阵
int[][] matrix = new int[m][n];
// 当前行和列初始化
int row = 0, col = 0;
for (int i = 0; i < m * n; i++) {
matrix[row][col] = i + 1; // 从1开始编号
// 根据当前行列决定下一步的方向
if (row == 0 || row == m - 1 || col == 0 || col == n - 1) { // 到达边界
row += (row % 2 == 0) ? 1 : -1; // 如果在偶数行,则向上移动,否则向下
col += 1;
} else { // 否则,改变方向
row -= 1; // 向下移动
col += (col % 2 == 0) ? 1 : -1; // 如果在奇数列,则向右移动,否则向左
}
}
// 打印结果
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
scanner.close();
}
}
```
当你运行这个程序时,它会提示用户输入矩阵的行数m和列数n,然后打印出对应的“之字形”矩阵。
阅读全文