Java 排序数组并打印输出
我将对二维数组进行排序。然而,有一种方法可以做到这一点。在继续下一行之前,运行它的次数 如您所见,我在这里所做的是,首先对行0进行排序,然后在对行进行增量之前对行进行增量,然后让它对列math.powm[j].length进行排序,2。这是正确的吗Java 排序数组并打印输出,java,Java,我将对二维数组进行排序。然而,有一种方法可以做到这一点。在继续下一行之前,运行它的次数 如您所见,我在这里所做的是,首先对行0进行排序,然后在对行进行增量之前对行进行增量,然后让它对列math.powm[j].length进行排序,2。这是正确的吗 此外,是否有一种聪明的方法可以从void方法打印出2D数组,而不必使用for循环。Arrays.tostring对我没有多大帮助 public static void sort(int m[][]) { int j = 0;
此外,是否有一种聪明的方法可以从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为什么?除非有一个将你需要的内存量翻倍的实际目的,否则不要这样做。所有这些可能都没有意义,真的很快。嗯,好吧。。那就帮帮我吧。我确信这是一个简单的解决方案,我认为临时工是合适的,因为我的书在一个例子中使用了临时工。