0

2 次元配列の要素をソートするために、Java Arrays.sort を使用しています。

int[][] RAM = new int[4][10000];

RAM 配列に整数を入力してから、次のように呼び出します。

for (i=0;i<4;i++){
    Arrays.sort(RAM[i]);
System.out.println(i);
}

これにより、RAM[][] のすべての要素がゼロで埋められます。私は何を間違っていますか?

4

3 に答える 3

2

最初に実際に配列に数値を入力しましたか? もしそうなら、あなたは2D配列の最初の部分だけを印刷しています。40,000 エントリすべてを印刷する必要があります。配列内の配列ごとに 10,000。したがって、[0][0...9999]、[1][0...9999] などです。

于 2012-05-17T13:17:03.113 に答える
0
public static void show (int [][] list)
{
    System.out.println ("- show: -");
    for (int [] ia : list) {
        for (int i : ia)
            System.out.print (i + ", ");
        System.out.println ();
    }
    System.out.println ("---");
}

static Random random = new Random ();

public static void main (String [] args)
{
    int[][] RAM = new int[4][2];
    for (int i = 0; i < 4; ++i)
    {
        for (int j = 0; j < 2; ++j)
        {
            RAM[i][j] = random.nextInt (20);
            System.out.print (i*2 +j);
        }
    }
    show (RAM);
    for (int i=0; i<4; i++) {
        Arrays.sort (RAM[i]);
    }
    show (RAM);
    System.out.println ();
}

結果:

- show: -
8, 13, 
12, 10, 
16, 3, 
7, 1, 
---
- show: -
8, 13, 
10, 12, 
3, 16, 
1, 7, 
---
于 2012-05-17T13:46:09.287 に答える