0
Frameworkの生成:Javaの乱数生成器は、重複
public static List<Integer> buttonIdList = new ArrayList();
public void myMainMethod() {
for(Integer i = 0; i < 11; i++) {
int randomButtonId = getUniqueIdNumber();
}
}
private static Integer getUniqueIdNumber() {
Random ran = new Random();
int randomButtonId = ran.nextInt(20) + 1;
if(buttonIdList.contains(randomButtonId)) {
getUniqueIdNumber();
} else {
buttonIdList.add(randomButtonId);
}
return randomButtonId;
}
コードが重複を検出すると、それは(再帰的に)自分自身を呼び出しをして番号が一意である場合は2回目の試行でreturn文はmyMainMethodにそれを返しますか、 getUniqueIdNUmberに?
返品明細はどこに置かれるべきですか?
番号が1から20のコレクションを生成し、要件が一意の番号である場合はそれをシャッフルすることを検討する必要があります。 – Henrik
@Henrikはい私はstackoverflowの質問のほんの少しでもそのオプションを見た。私は自分のコードでどこが間違っているのかを見たいと思っていました。 – codeinprogress