0

異なる次元の 2 次元配列のセットがある場合、次のように言います。

float[][] P = new float[2][3];
float[][] B = new float[2][2];
float[][] A = new float[32][2];
float[] E = new float[2];

現在値を保持していません。

最大の集合次元のインデックス値をループして、配列の各インデックスに値を追加することは可能ですか (この場合):

for (int i=0; i<32; i++){
    for (int j=0; j<3; j++){
         //doSomething to (P[i][j]) if P has this index
         //doSomething to (B[i][j]) if B has this index
         //doSomething to (A[i][j]) if A has this index
         //doSomething to (E[i][j]) if E has this index         
    }
}

そうしないと、4 つの別々のループが必要になります。

ありがとうございました。

4

1 に答える 1

1
for (int i=0; i<32; i++){
    for (int j=0; j<3; j++){
         if(i < 2)
           doSomething(P[i][j]);
         if(i < 2 && j < 2)
           doSomething(B[i][j]);
         if(j < 2)
           doSomething(A[i][j]);
         if(i == 0 && j < 2)
           doSomething(E[i][j]);         
    }
}

すべてを 32 回ではなく 1 回だけ変更する必要があるため、このi == 0部分が必要です。他の条件はループによって適用されるため、必要な条件は 2 つEだけであることに注意してください。Bfor

于 2013-05-10T19:02:17.023 に答える