数组乱序的三种实现方式


前言

将数组中的数据以随机分为两组且两组数据中不可有重复值。例如:String[]role = {“安琪拉”,“白起”,“妲己”,“狄仁杰”,“典韦”,“韩信”,“老夫子”,“刘禅”,“鲁班七号”,“墨子”,“孙膑”,“孙尚香”,“孙悟空”,“项羽”,“亚瑟”,“周瑜”,“庄周”,“蔡文姬”};
分为group1[]、group2[]这两个数组。


一、for循环

最能体会到,如何乱序,以及如何将打乱的数据分别存入两个数组中。

1.代码块

String[] role = {
   "安琪拉","白起","妲己","狄仁杰",
				"典韦","韩信","老夫子","刘禅",
				"鲁班七号","墨子","孙膑","孙尚香",
				"孙悟空","项羽","亚瑟","周瑜","庄周","蔡文姬"};
				

//将数组中的顺序打乱

		//1.将当前role 数组中的元素随机打乱
		//解析:产生role.length个不重复的随机数,范围0-role.lenght-1
		int indexArray[] = new int[role.length];
		label:
			for(int i=0;i<indexArray.length;i++){
   
				//根据数组大的长度,产生随机数(0至role.length-1的范围)
				int rand = (int)(Math.random()*indexArray.length);
				//判断产生的随机数是否有重复
				for (int k = 0;k<i;k++){
   
					if(indexArray[k]==rand){
   
						i--;              //相当于重新生成这个位置上的数 
						continue label;
					}					
				}
				//没有发现重复的下标,则保存
				indexArray[i] = rand;      //产生的随机下标保存在数组中
			}	

//创建两个数组用来保存打乱的数据

//分别用两个数组来保存
		int midIndex = indexArray.length/2;
		int len 
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MM呦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值