生成数组的随机索引

时间:2010-10-26 11:25:03

标签: java

我知道这对于普通整数,但是对于像索引这样的东西吗?

Random dice = new Random();
int n = dice.nextInt(6);
System.out.println(n);

4 个答案:

答案 0 :(得分:14)

你是什​​么意思?数组索引是正常数字,因此您可以轻松地执行

String names[] = { "One", "Two", "Three", "Four", "Five", "Six" };
Random Dice = new Random(); 
int n = Dice.nextInt(6); 
System.out.println(names[n]);

或者你的意思是随机的Iterator类?谷歌是你的朋友,this是我得到的第一个打击。

答案 1 :(得分:5)

someArray生成

的随机索引
int index = new Random().nextInt(someArray.length);

nextInt(n)返回0(包括)和n之间的数字(不包括),这就是为someArray.length作为参数的原因。

答案 2 :(得分:1)

另一种解决方案是:

int randomElement = yourArray[Math.random()*yourArray.length];

Math.random()生成一个介于0和1之间的随机数。如果将该数乘以数组的长度,您将获得该数组的随机索引。

例如:如果Math.random()生成.2且您的数组长度为10,则索引为2.

答案 3 :(得分:0)

如果要在数组中返回该索引的值,这是在React js中为我工作的另一种可能性。

const myArray = [1,2,5,7,6,87,45,34,23,12]
        
        const rand = myArray[Math.floor(Math.random() * myArray.length)];
        
        console.log('value of the index', rand);
        console.log('index in the array',myArray.indexOf(rand));