方阵的转置:
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度:
即先进行转置操作,再进行水平镜像操作