java从数组a[]={1,2,3,4,5,6,7,8,9,10}中随机抽取5个数且不重复
5条回答 默认 最新
关注 这里只有十个元素,用 Random 的 nextInt() 对 10 求余,产生 10 以内的元素作为访问角标。
同时需要维护一个 Set 判断是否重复,demo:public static void main(String[] args) { int a[]={1,2,3,4,5,6,7,8,9,10}; Random r = new Random(); int count = 10; while(count-->0){ Set<Integer> result = new HashSet<Integer>(5); while(result.size()<5){ int index = r.nextInt(10)%10;//范围为 10 int currentData = a[index]; if(result.contains(currentData)){ continue; } System.out.print("随机加入:"+ currentData); result.add(currentData); } System.out.println("第"+count+"次,last随机数:"+result); } }
random 的随机性还是可以的,基本上很少重复的。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用
悬赏问题
- ¥40 复杂的限制性的商函数处理
- ¥15 程序不包含适用于入口点的静态Main方法
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码