1

だから私は要素の切り替えをしようとしています。基本的に、2D 配列内の 2 つの要素を切り替えます。エラーは発生していませんが、正しく機能せず、すべての要素を出力することさえできません。私は何を間違っていますか。これがコードです。

public class ArrayTheory
{
    public static void printArray(int[][]args)
    {
        for(int i=0;i<args.length; i++)
            for(int j=0;j<args.length; j++) {
                System.out.print(args[i][j]);
            }   
            System.out.println();
    }

    public static void arraySwitch(int c1, int c2, int [][]args)
    {
        for(int i=0;i<args.length; i++)
            for(int j=0;j<args.length; j++) {
                int temp = args[i][c1];
                args[i][c1] = args[i][c2];
                args[i][c1] = temp;
            }   
    }
}

そして、ここに要素があります

public class TestArray {
    public static void main(String[] args){
        int[][] test = {{1,2,3,4},
                        {1,2,3,4},
                        {1,2,3,4}};


        int[][] carData = {{16,2008,4},
                           {45,2011,4},
                           {26,2010,7},
                           {18,2009,8}};

        ArrayTheory.arraySwitch(0,2,test);
        ArrayTheory.printArray(test);
    }
}
4

3 に答える 3

0

あなたの質問はあまり明確ではありません。2 つの特定の要素を交換しようとしている場合は、各要素をアドレス指定するために 4 つの座標 (a1, a2) と (b1, b2) が必要です。あなたのコードは 2 つの行を交換しようとしているようです。外側のループに中括弧がないことを除いて、print メソッドは問題ないように見えます。したがって、2D 配列の内容全体が印刷された後、println() は 1 回だけ実行されます。

于 2013-04-24T14:18:41.107 に答える