0
框架: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;
}
當代碼遇到重複,它調用本身(遞歸),並在第二次嘗試,如果該號碼是唯一的return語句返回給myMainMethod或獲取UniqueIdNUmber?
return語句應該放在哪裏?
如果您的要求是唯一的數字,您應該考慮使用數字1到20生成一個集合並隨機播放。 – Henrik
@Henrik是的,我在一些stackoverflow問題中也看到了這個選項。但我想看看我的代碼出錯了。 – codeinprogress