Matrix 矩阵为​;未正确显示

Matrix 矩阵为​;未正确显示,matrix,Matrix,有一个代码可以按升序对数组的第一行进行排序,但在对值进行排序时会出现问题​​其中2行和3行是随机更改的,我只需要更改1行,2行和3行保持不变,如何修复它? 代码如下: import java.util.Arrays; import java.util.concurrent.ThreadLocalRandom; public class Helper { public static void main(String[] args) { int[][] aMatrix = getMatrixM

有一个代码可以按升序对数组的第一行进行排序,但在对值进行排序时会出现问题​​其中2行和3行是随机更改的,我只需要更改1行,2行和3行保持不变,如何修复它? 代码如下:

import java.util.Arrays; 
import java.util.concurrent.ThreadLocalRandom;
public class Helper {

public static void main(String[] args) {
 int[][] aMatrix = getMatrixMxN(5, 3); 
 printMatrix(aMatrix);
 sortMatrixRowByFstElem(aMatrix); 
 printMatrix(aMatrix);   
}

private static int[][] getMatrixMxN(int mRow, int nClmn) {
    int[][] retMat = new int[mRow][]; 
    for (int i = 0; i < retMat.length; i++) {
        retMat[i] = ThreadLocalRandom.current().ints(nClmn, 10,100).toArray();
    }
    return retMat;
}

private static void sortMatrixRowByFstElem(int[][] matrix){
    
    int[] tmpRow;
    for (int frstRow = 0; frstRow < matrix.length; frstRow++) {
        for (int scndRow = frstRow + 1; scndRow < matrix.length; scndRow++) {
            if (matrix[frstRow][0] > matrix[scndRow][0]){
                tmpRow = matrix[frstRow];
                matrix[frstRow] = matrix[scndRow];
                matrix[scndRow] = tmpRow;
            }
        }
    }
}

private static void printMatrix(int[][] matrix){
    for (int[] rowMatr : matrix)
        System.out.println(Arrays.toString(rowMatr));
    System.out.println(">>>***<<<<");
}
}
导入java.util.array;
导入java.util.concurrent.ThreadLocalRandom;
公营助理员{
公共静态void main(字符串[]args){
int[][]aMatrix=getMatrixMxN(5,3);
打印矩阵(aMatrix);
SortMatrix RowByFSTelem(aMatrix);
打印矩阵(aMatrix);
}
私有静态int[]getMatrixMxN(intmrow,intnclmn){
int[][]retMat=新int[mRow][];
for(int i=0;i矩阵[scndRow][0]){
tmpRow=矩阵[frstRow];
矩阵[frstRow]=矩阵[scndRow];
矩阵[scndRow]=tmpRow;
}
}
}
}
私有静态void打印矩阵(int[][]矩阵){
对于(int[]行:矩阵)
System.out.println(Arrays.toString(rowmart));
System.out.println(“>>>***