我有 2 个类,LotSelection
并且LotGen
,在一个名为lotterynumberselector
. LotSelection
有 2 种方法:LotPool()
和WinningSequence()
. LotPool()
旨在返回从 0 到 49 的 50 个整数的 ArrayList 并将其打乱。WinningSequence()
旨在创建一个 6 元素数组,其中包含 LotPool() 中生成的 ArrayList 中的前 6 个整数。
这是 的代码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() 创建的前六个数字不匹配,我想知道为什么。我不确定是否是因为代码中的LotGen
或LotSelection
正在创建意外结果。我怀疑这是因为LotPool()
正在生成一个 50 元素的 ArrayList 并且WinningSequence()
正在创建另一个,LotPool()
所以它是从不同的 50 元素 ArrayList 中创建的数组,但我不确定。
这是代码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));
}
}