我需要以隨機順序顯示數字1-10。第一次執行時會有一個例子:5,4,8,7,9,1,2,3
。執行第二次時的一個例子是:7,6,5,1,2,3,4,9,8
如何獲得兩個範圍之間的隨機數?
以下代碼是否會隨機顯示範圍之間的所有日期?
我需要以隨機順序顯示數字1-10。第一次執行時會有一個例子:5,4,8,7,9,1,2,3
。執行第二次時的一個例子是:7,6,5,1,2,3,4,9,8
如何獲得兩個範圍之間的隨機數?
以下代碼是否會隨機顯示範圍之間的所有日期?
您可以使用Collections.shuffle()
方法。 (關於這SO question更多信息)
在您的例子:
List<int> numbers = new ArrayList<int>();
int min = 65;
int max = 85;
for (int i = min; i <= max; i++) {
numbers.add(i);
}
Collections.shuffle(numbers);
我已經找到了解決方案我自己的兄弟..由相同的shuffel meathod ...我嘗試了隨機,但...數字發生在那裏... soo這是簡單和更好... thxxxx你@FlyingPumba –
我'很高興它幫助! – FlyingPumba
使用洗牌也可以。這是你如何手動做到這一點。
Random r = new Random();
List<Integer> list = new ArrayList<Integer>();
for (int i=min ; i<= max ; i++){
list.add(i); // adding your data
}
List<Integer> list2 = new ArrayList<Integer>().addAll(list);
//you don't need to use
//list2 if you are ok with losing list.
//As here list2 is being emptied ..
while(list2.size() > 0){
int randomIndex = r.nextInt(0, list2.size);
System.out.println(list.get(randomIndex));
list2.remove(randomIndex);
}
我已經找到了解決方案我自己的傢伙..由相同的shuffel meathod ...我隨機嘗試,但...數字發生在那裏... soo這是簡單和更好的... thxxxx你@Yosif曼蘇爾.. 。 –
日期在哪裏? – shmosel
你的意思是_data_,而不是_date_? – Gulllie
以下代碼只會產生一個隨機數 – paul