-3

マトリックスのような構造の各要素を反復処理する必要があります。例えば、

SeatingType Model Back  Mech 
1              6   120   58
               7   121   59
               8    

Java の値は、SeatingTpe (1)、Model (6,7,8) などのコンマ区切り値の文字列としてパラメーターとして送信されます。

私は結果を得る必要があります

1,6,120,58
1,6,120,59
1,6,121,58
1,6,121,59
1,7,120,58
1,7,120,59
1,7,121,58
1,7,121,59
1,8,120,58
1,8,120,59
1,8,121,58
1,8,121,59

Model、Back、および Mech が null になる可能性があることに注意してください。そのため、Model 値が null の場合、出力は 1,6,58 および 1,6,59 になります。何か助けてください

有利なスタートとして、最後の要素 (この場合は「Mech」) からループしてみましたが、これは非常に面倒です。他のアプローチはありますか?ここでは 4 つの属性のみを提供しました。ただし、reqmnt は 11 属性用です。残りの7に適用できる4つの属性の解決策を得ることができればと思っていました

4

1 に答える 1

1

4 つのループを繰り返します。

List<String> seatTypeValues = ...
List<String> modelValues = ...
List<String> backValues = ...
List<String> mechValues = ...

if (seatTypeValues.isEmpty()) { seatTypeValues.add(null); }
... // all 4 lists

for(String seatType : seatTypeValues) {
  for(String model : modelValues) {
    for(String back : backValues) {
      for(String mech : mechValues) {
        // print the CSV
        if (seatType != null) {
          writer.write(seatType);
        }
        if (model != null) {
          writer.write(',');
          writer.write(model);
        }
        if (back != null) {
          writer.write(',');
          writer.write(back);
        }
        if (mech != null) {
          writer.write(',');
          writer.write(mech);
        }
        writer.write("\r\n");
      }
    }
  }
}
于 2013-01-14T13:14:59.893 に答える