-2

このような出力例のようにJavaで組み合わせアルファベットループを作成する方法

A1 B1 C1 D1
A1 B1 C1 D2
A1 B1 C1 D3
A1 B1 C2 D1
A1 B1 C2 D2
A1 B1 C2 D3
A1 B2 C1 D1
A1 B2 C1 D2
A1 B2 C1 D3
A1 B2 C2 D1
A1 B2 C2 D2
A1 B2 C2 D3
A1 B3 C1 D1
A1 B3 C1 D2
A1 B3 C1 D3
A1 B3 C2 D1
A1 B3 C2 D2
A2 B3 C2 D3
A2 B1 C1 D1
A2 B1 C1 D2
A2 B1 C1 D3
A2 B1 C2 D1
A2 B1 C2 D2
A2 B1 C2 D3
A2 B2 C1 D1
A2 B2 C1 D2
A2 B2 C1 D3
A2 B2 C2 D1
A2 B2 C2 D2
A2 B2 C2 D3
A2 B3 C1 D1
A2 B3 C1 D2
A2 B3 C1 D3
A2 B3 C2 D1
A2 B3 C2 D2
A2 B3 C2 D3

この組み合わせの場合、マトリックス (36 x 4) のようになります。列 1 は、A1 の場合は 18、A2 の場合は 18 です。列 2 は、B1 の場合は 6、B2 の場合は 6、B3 の場合は 6 です。列 3 は、C1 の場合は 3、C2 の場合は 3 です。列 4 は、D1 の場合は 1、D2 の場合は 1、D3 の場合は 1 です。各列には 36 個のデータがあります。ありがとう。

4

2 に答える 2

1

パターンは次のとおりだと思います:メイン配列には4つの要素(A B C D)があり、

  • AからDまでループします
  • Dには3つの要素があります(D1からD3まで)
  • Cには2つの要素があります(C1からC2まで)
  • Bには3つの要素があります(B1からB3まで)
  • Aには2つの要素があります(A1からA2まで)

擬似コード:

String[2] A = {"A1","A2"};
String[3] B = {"B1","B2","B3"};
String[2] C = {"C1","C2"};
String[3] D = {"D1","D2","D3"};
for(int i = 0; i < A.length;i++){
   for(int j = 0;j < B.length;j++){
     for(int t = 0; t < C.length;t++){
        for(int e = 0; e < D.length;e++){
            System.out.printfln(A[i] + " " + B[j] + " " + C[t] + " " + D[e]);
        }
     }
   }
}
于 2013-06-14T03:40:42.037 に答える