java中如何随机产生一个指定数组中的数

java中如何随机产生一个指定数组中的数
如:如何在数组int[] a{1,5,6,2,9}中随机选出其中的一个数字

1、获取数组长度

int arr[] = {1,2,3,4,5};//定义一个数组
int len = arr.length;//获取数组长度给变量len

2、根据数组长度,使用Random随机数组的索引值

Random random = new Random();//创建随机对象
int arrIdx = random.nextInt(len-1);//随机数组索引,nextInt(len-1)表示随机整数[0,(len-1)]之间的值

3、根据随机索引获取数组值

int num = arr[arrIdx];//获取数组值

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-10
直接int i=(int)(a.length*Math.random());a[i]就可以了。因为Math.random()的范围是[0,1);a.lenght.Math.random()的范围是[0,5);刚好可以表示数组的随机下标,也就可以随机的选出其中的一个数字。本回答被提问者采纳
第2个回答  推荐于2018-03-15
int arrIdx = random.nextInt(len-1);应该修改为int arrIdx = random.nextInt(len);
假如你数组有5个数,这里就是表示random.nextInt(5);表示取0到5不包含之间的整数本回答被网友采纳
第3个回答  2020-02-20
int
[]
arr
=
{1,2,3,4};
//产生0-(arr.length-1)的整数值,也是数组的索引
int
index=(int)(math.random()*arr.length);
int
rand
=
arr[index];
第4个回答  2008-12-03
i=(int)((a.length)*Math.random()+a.length);

通过随机产生i值也就能随机产生a【i】值!