我知道這是正常的整數,但有這樣的事情索引?生成一個數組的隨機索引
Random dice = new Random();
int n = dice.nextInt(6);
System.out.println(n);
我知道這是正常的整數,但有這樣的事情索引?生成一個數組的隨機索引
Random dice = new Random();
int n = dice.nextInt(6);
System.out.println(n);
你是什麼意思?數組索引是正常數字,所以你可以很容易地做
String names[] = { "One", "Two", "Three", "Four", "Five", "Six" };
Random Dice = new Random();
int n = Dice.nextInt(6);
System.out.println(names[n]);
或者你的意思是一個隨機的Iterator類?谷歌是你的朋友,this是我得到的第一個。
要生成someArray
隨機指標你做
int index = new Random().nextInt(someArray.length);
nextInt(n)
返回介於0(含)n
(獨家)一些這就是爲什麼someArray.length
給出說法。
另一解決方案是:
int randomElement = yourArray[Math.random()*yourArray.length];
的Math.random()如果乘以陣列的運行長度數生成0和1之間的隨機數,將得到的一個隨機索引陣列。
例如:如果的Math.random()生成的1.2和你的數組有長度爲10,你會得到的2
不要這樣做。 Random類已經解決了這個問題,並保證了「均勻」分佈。 – Jorn 2010-10-26 11:40:08
您必須添加Math.floor才能使其工作。 – Cephalopod 2010-10-26 11:40:51
感謝您對我的回答發表評論。這是我多年來的工作方式,所以很高興知道還有另一個更好的選擇。 – Andrew 2010-10-26 11:47:12
什麼是正常的整數的指數?什麼是指數? – 2010-10-26 11:26:30
能否詳細說明.. – 2010-10-26 11:28:44
我真的不明白你的問題。一個數組索引只是一個整數,所以你可以使用這些隨機數作爲數組索引而沒有問題。 – fresskoma 2010-10-26 11:29:14