Java 排序数组并打印输出

Java 排序数组并打印输出,java,Java,我将对二维数组进行排序。然而,有一种方法可以做到这一点。在继续下一行之前,运行它的次数 如您所见,我在这里所做的是,首先对行0进行排序,然后在对行进行增量之前对行进行增量,然后让它对列math.powm[j].length进行排序,2。这是正确的吗 此外,是否有一种聪明的方法可以从void方法打印出2D数组,而不必使用for循环。Arrays.tostring对我没有多大帮助 public static void sort(int m[][]) { int j = 0;

我将对二维数组进行排序。然而,有一种方法可以做到这一点。在继续下一行之前,运行它的次数

如您所见,我在这里所做的是,首先对行0进行排序,然后在对行进行增量之前对行进行增量,然后让它对列math.powm[j].length进行排序,2。这是正确的吗


此外,是否有一种聪明的方法可以从void方法打印出2D数组,而不必使用for循环。Arrays.tostring对我没有多大帮助

  public static void sort(int m[][]) {


    int j = 0;

    for (int k = 0; k < Math.pow(m[j].length, 2); k++)
    {  
        for (int i = 0; i < m[k].length - 1; i++)
        {

        if (m[i][j] > m[i + 1][j]) 
        {
           int temp = m[i][j];
           m[i][j] = m[i + 1][j];
           m[i + 1][j] = m[i][j];
        }
        }
    }
  System.out.print("The array is " + Arrays.toString(m));   
  } 

此外,是否有一种聪明的方法可以从void方法打印出2D数组,而不必使用for循环。Arrays.tostring对我没有多大帮助

  public static void sort(int m[][]) {


    int j = 0;

    for (int k = 0; k < Math.pow(m[j].length, 2); k++)
    {  
        for (int i = 0; i < m[k].length - 1; i++)
        {

        if (m[i][j] > m[i + 1][j]) 
        {
           int temp = m[i][j];
           m[i][j] = m[i + 1][j];
           m[i + 1][j] = m[i][j];
        }
        }
    }
  System.out.print("The array is " + Arrays.toString(m));   
  } 
对。像

最后,您的交换显然是不正确的

int temp = m[i][j];
m[i][j] = m[i + 1][j];
m[i + 1][j] = temp; // m[i][j];

是否有一种聪明的方法可以从void方法打印出2D数组,而不使用for循环。-是的:Arrays.deeptoString谢谢,这对我很有用!这句话是什么意思?为什么toString会给我看矩阵?我只是想当我把结果打印出来的时候。我想把我的temp设置为数组,而不是我侦察?@Avacay否。你发布的代码在你设置temp后不使用它。数组设置为int没有意义不!我想创建一个新数组并将排序写入该数组吗?@Avacay为什么?除非有一个将你需要的内存量翻倍的实际目的,否则不要这样做。所有这些可能都没有意义,真的很快。嗯,好吧。。那就帮帮我吧。我确信这是一个简单的解决方案,我认为临时工是合适的,因为我的书在一个例子中使用了临时工。