というパッケージにLotSelection
との2 つのクラスがあります。と の 2 つのメソッドがあります。0 から 49 までの 50 個の整数の ArrayList を返し、それをスクランブルすることを意図しています。LotPool() で生成された ArrayList からの最初の 6 つの整数を含む 6 要素の配列を作成するためのものです。LotGen
lotterynumberselector
LotSelection
LotPool()
WinningSequence()
LotPool()
WinningSequence()
のコードですLotSelection
。
package lotterynumberselector;
import java.util.ArrayList;
import java.util.Collections;
public class LotSelection {
ArrayList<Integer> LotPool() {
ArrayList<Integer> sequencedraw = new ArrayList<Integer>();
for(int i = 0; i < 49; i++) {
sequencedraw.add(i);
}
Collections.shuffle(sequencedraw);
return sequencedraw;
}
int[] WinningSequence() {
int[] WinningSequence = new int[6];
int j = 0;
while (j < 6) {
WinningSequence[j] = LotPool().get(j);
j++;
}
return WinningSequence;
}
}
の目的は、 によって作成された出力が期待されるタスクを実行しているLotGen
かどうかをテストすることです。LotSelection
しかし、WinningSequence() からの出力は LotPool() から作成された最初の 6 つの数値と一致しませんでした。LotGen
またはのコードがLotSelection
予期しない結果を生み出しているためかどうかはわかりません。LotPool()
50 要素の ArrayList を 1 つ作成し、別の ArrayList をWinningSequence()
作成しているため、異なる 50 要素の ArrayList から配列を作成しているためだと思わLotPool()
れますが、よくわかりません。
のコードは次のLotGen
とおりです。
package lotterynumberselector;
import java.util.ArrayList;
import java.util.Arrays;
public class LotGen {
public static void main(String [] args) {
LotSelection a = new LotSelection();
ArrayList<Integer> LotPool = new ArrayList<Integer>();
LotPool = a.LotPool();
System.out.println(LotPool);
int[] WinSeq = new int[6];
WinSeq = a.WinningSequence();
System.out.println(Arrays.toString(WinSeq));
}
}