如何在不使用循环的情况下在java中交换2d数组行?

时间:2015-11-14 10:51:37

标签: java arrays 2d

我尝试使用此方法进行行交换,但我不能这样做。任何人都可以帮我这个吗?我需要在不使用循环和一种方法的情况下进行此操作。

     public static void swapRows(double[][] dblMatrix, int i, int j) {
    int temp = dblMatrix[0].length;
    for (int col=0; col<temp; col++){
      swap(dblMatrix, i, col, j, col);
      System.out.printf("%.1f",dblMatrix[i][j]);
    }
}
  public static void swap(double[][] dblMatrix, int i0, int j0, int i1, int j1) {
        double temp1 = dblMatrix[i0][j0];
        dblMatrix[i0][j0] = dblMatrix[i1][j1];
        dblMatrix[i1][j1] = temp1;
      }

1 个答案:

答案 0 :(得分:0)

不是很有用,但它相对容易,没有循环,但你必须将所有变量作为参数传递给下一个函数调用。另请注意,如果没有return语句,堆栈将无限大。

您的第二个交换功能也非常无用,因为您不需要单独的功能来交换某些值。

dfs = [df1, df2, df3, df4]
for df in dfs:
    ....