用JAVA编写一个程序, 将一个矩阵按照从外向里一顺时针顺序依次打印出每一个元素。例如如下矩阵 A = [ 2 5 6 ;−1 8 4 ;7 3 4 ] ,则依次打印出 2,5,6,4,4,3,7,-1,8
时间: 2023-06-03 14:04:32 浏览: 41
这是一个技术问题,可以回答。以下是JAVA的实现代码:
```
public class PrintMatrixInClockwiseOrder {
public static void printMatrixClockwise(int[][] matrix) {
if (matrix == null)
return;
int row = matrix.length;
int column = matrix[0].length;
int start = 0;
while (row > start * 2 && column > start * 2) {
printMatrixInCircle(matrix, start);
start++;
}
}
public static void printMatrixInCircle(int[][] matrix, int start) {
int row = matrix.length;
int column = matrix[0].length;
int endX = column - start - 1;
int endY = row - start - 1;
// 从左到右打印一行
for (int i = start; i <= endX; i++) {
System.out.print(matrix[start][i] + " ");
}
// 从上到下打印一列
if (start < endY) {
for (int i = start + 1; i <= endY; i++) {
System.out.print(matrix[i][endX] + " ");
}
}
// 从右到左打印一行
if (start < endX && start < endY) {
for (int i = endX - 1; i >= start; i--) {
System.out.print(matrix[endY][i] + " ");
}
}
// 从下到上打印一列
if (start < endX && start < endY - 1) {
for (int i = endY - 1; i > start; i--) {
System.out.print(matrix[i][start] + " ");
}
}
}
public static void main(String[] args) {
int[][] matrix = {{2, 5, 6}, {-1, 8, 4}, {7, 3, 4}};
printMatrixClockwise(matrix);
}
}
```
输出为:2 5 6 4 4 3 7 -1 8