[英]generating non repeating random number in java
我正在制作一個游戲,它會在 java 中提出不同的問題。問題存儲在一些 arraylist 中。我的問題是這些問題不應該重復。 如果所有問題都被問到,那么程序應該停止。 我已經使用了 java 隨機 function。但它失敗了。 任何幫助將是可觀的問候
如果我正確理解你的問題,你想以隨機順序顯示問題。 這個問題有一個簡單的解決方案。 使用方法java.util.Collections.shuffle
隨機排列列表中的問題。 然后從頭開始遍歷列表。 該算法具有線性時間和空間復雜度。
將問題列表復制到臨時列表,以及
while(list.size() > 0){
int i = Math.floor(Math.Random() * list.size());
list.get(i); //do something with question
list.remove(i);
}
只要 list 有元素,就會循環,拉出一個隨機元素,然后將其從 list 中刪除。
編輯澄清 - 這確保你不會重復
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.