编写一个Java程序,通过示例转置矩阵,或在给定的多维数组中将行转换为列。在这里,转置意味着将行转换为列,将列转换为行。
使用for循环进行Java程序矩阵转置
在此示例中,我们声明了一个具有随机值的 3 * 3 org_arr 整数数组,以及另一个用于存储转置矩阵的数组。接下来,我们使用 for 循环迭代 org_arr 的项。在嵌套的for 循环中,我们将 org_arr 的行分配给了 tras_arr 的列。
public class Example {
public static void main(String[] args) {
int i, j;
int[][] org_arr = {{15, 25, 35}, {45, 55, 65}, {75, 85, 95}};
int[][] trans_arr = new int[3][3];
for(i = 0; i < org_arr.length ; i++)
{
for(j = 0; j < org_arr[0].length; j++)
{
trans_arr[j][i] = org_arr[i][j];
}
}
System.out.println("\nOriginal Items are :");
for(i = 0; i < org_arr.length ; i++)
{
for(j = 0; j < org_arr[0].length; j++)
{
System.out.format("%d \t", org_arr[i][j]);
}
System.out.print("\n");
}
System.out.println("\nAfter Transposing Items are :");
for(i = 0; i < trans_arr.length ; i++)
{
for(j = 0; j < trans_arr[0].length; j++)
{
System.out.format("%d \t", trans_arr[i][j]);
}
System.out.print("\n");
}
}
}
Original Items are :
15 25 35
45 55 65
75 85 95
After Transposing Items are :
15 45 75
25 55 85
35 65 95
此Java代码与上方相同。但是,此矩阵代码允许用户输入行数、列数和项数。
import java.util.Scanner;
public class TransposeMatrix {
private static Scanner sc;
public static void main(String[] args) {
int i, j, rows, columns;
sc= new Scanner(System.in);
System.out.println("\n Enter Rows and Columns : ");
rows = sc.nextInt();
columns = sc.nextInt();
int[][] org_arr = new int[rows][columns];
int[][] trans_arr = new int[rows][columns];
System.out.println("\n Please Enter the Items : ");
for(i = 0; i < rows; i++) {
for(j = 0; j < columns; j++) {
org_arr[i][j] = sc.nextInt();
}
}
for(i = 0; i < org_arr.length ; i++)
{
for(j = 0; j < org_arr[0].length; j++)
{
trans_arr[j][i] = org_arr[i][j];
}
}
System.out.println("\nAfter Transposing Matrix Items are :");
for(i = 0; i < trans_arr.length ; i++)
{
for(j = 0; j < trans_arr[0].length; j++)
{
System.out.format("%d \t", trans_arr[i][j]);
}
System.out.print("\n");
}
}
}
