方阵的转置:
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
int[][] a = {{1,2,3},{4,5,6},{7,8,9}};
int n = a.length;
int m = a[0].length;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
System.out.print(a[i][j] + " ");
}
System.out.println();
}
System.out.println("转置后的方阵为:");
//转置
for(int i=0;i<n;i++){
for(int j=0;j<i;j++) {
int temp = a[i][j];
a[i][j] = a[j][i];
a[j][i] = temp;
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
System.out.print(a[i][j] + " ");
}
System.out.println();
}
}
}

水平镜像
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
int[][] a = {{1,2,3},{4,5,6},{7,8,9}};
int n = a.length;
int m = a[0].length;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
System.out.print(a[i][j] + " ");
}
System.out.println();
}
System.out.println("水平镜像后的方阵为:");
for(int i=0;i<n;i++){ // n行
for(int j=0;j<n/2;j++) { //n/2次
int temp = a[i][j];
a[i][j] = a[i][n-j-1];
a[i][n-j-1] = temp;
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
System.out.print(a[i][j] + " ");
}
System.out.println();
}
}
}

竖直镜像
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
int[][] a = {{1,2,3},{4,5,6},{7,8,9}};
int n = a.length;
int m = a[0].length;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
System.out.print(a[i][j] + " ");
}
System.out.println();
}
System.out.println("竖直镜像后的方阵为:");
for(int i=0;i<m;i++){ // m列
for(int j=0;j<m/2;j++) { //m/2次
int temp = a[j][i];
a[j][i] = a[n-j-1][i];
a[n-j-1][i] = temp;
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
System.out.print(a[i][j] + " ");
}
System.out.println();
}
}
}

顺时针旋转90度:
即先进行转置操作,再进行水平镜像操作
这篇博客介绍了如何使用Java实现矩阵的转置、水平镜像和竖直镜像操作。通过示例代码展示了矩阵的变换过程,包括交换矩阵行与列的转置方法,以及矩阵水平和竖直方向上的镜像翻转。这些基本的矩阵操作在图像处理和数值计算中有着广泛应用。
1291

被折叠的 条评论
为什么被折叠?



