Java数组和字符串:练习-矩阵转置

【课堂练习:矩阵转置】
已知一个二维数组A 表示一个矩阵,求AT。 其中,AT 表示矩阵的转置。 矩阵转置的含义:表示把一个矩阵行列互换。例如, 有下面的矩阵M 以及其转置MT
在这里插入图片描述
要求:输入二维数组A 表的矩阵的行数和列数,并输入矩阵的数据,矩阵转置后的结果并打印输出。

运行代码:

import java.util.Scanner;

public class JuZhenZhuanZhi {
    
    

	public static void main(String[] args) {
    
    
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入矩阵的行数:");
		int n = sc.nextInt();//矩阵的行数
		System.out.println("请输入矩阵的列数:");
		int m = sc.nextInt();//矩阵的列数
		
		//1. 声明数组
		int[][] arrayA;
		int[][] arrayAT;
		
		//2. 创建数组对象
		arrayA = new int[n][m];
		arrayAT = new int[m][n];
		
		//3. 使用输入值初始化数组arrayA
		for (int i = 0; i < arrayA.length; i++) {
    
    //使用外循环控制行数
			System.out.println("请输入第"+(i+1)+"行的数据:");
			for (int j = 0; j < arrayA[1].length; j++) {
    
    //使用内循环控制列数
				arrayA[i][j] = sc.nextInt();
			}
		}
		System.out.println("矩阵转置:");
		//4. 矩阵转置,本质是数组的复制,不过行和列互换
		for (int i = 0; i < arrayA.length; i++) {
    
    
			for (int j = 0; j < arrayA[i].length; j++) {
    
    
				arrayAT[j][i] = arrayA[i][j];//转置
			}
		}
		
		//5. 打印输出二维数组arrayAT
		for (int i = 0; i < arrayAT.length; i++) {
    
    
			for (int j = 0; j < arrayAT[i].length; j++) {
    
    
				System.out.print(arrayAT[i][j]+"\t");
			}
			System.out.println();//换行
		}

	}

}

猜你喜欢

转载自blog.csdn.net/m0_46700215/article/details/106459104