2016-11-07 83 views
0

我需要以隨機順序顯示數字1-10。第一次執行時會有一個例子:5,4,8,7,9,1,2,3。執行第二次時的一個例子是:7,6,5,1,2,3,4,9,8如何獲得兩個範圍之間的隨機數?

以下代碼是否會隨機顯示範圍之間的所有日期?

​​
+0

日期在哪裏? – shmosel

+0

你的意思是_data_,而不是_date_? – Gulllie

+0

以下代碼只會產生一個隨機數 – paul

回答

1

您可以使用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); 
+0

我已經找到了解決方案我自己的兄弟..由相同的shuffel meathod ...我嘗試了隨機,但...數字發生在那裏... soo這是簡單和更好... thxxxx你@FlyingPumba –

+0

我'很高興它幫助! – FlyingPumba

0

使用洗牌也可以。這是你如何手動做到這一點。

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); 
} 
+0

我已經找到了解決方案我自己的傢伙..由相同的shuffel meathod ...我隨機嘗試,但...數字發生在那裏... soo這是簡單和更好的... thxxxx你@Yosif曼蘇爾.. 。 –

相關問題