如何将一个字符串数组随机分配为两组数组

qq_31919421 2017-07-20 09:22:10
String[] i = { "商纣", "杨戬", "夏桀", "褒姒", "白起", "嬴政", "韩信", "赵云", "妲己", "张良", "关羽", "张飞" }; 随机匹配为两组数组 每一组的字符串都是在i这个数组了随机抽取,而且不重复,有好的方法实现吗 ps:别吐槽上面的名字
...全文
561 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_39744460 2017-08-05
  • 打赏
  • 举报
回复
生产的随机数不会重吗
窝 窝 2017-08-05
  • 打赏
  • 举报
回复
wp7007 2017-08-04
  • 打赏
  • 举报
回复
String[] name={"a","b","c","d","e","f"}; int mid=name.length/2; String[] a=new String[mid]; String[] b=new String[mid]; String tmp=null; int j=0; for(int i=name.length;i>mid;i--){ int p=(int) (Math.random()*i); a[j++]=name[p]; tmp=name[i-1]; name[i-1]=name[p]; name[p]=tmp; } int k=0; for(int i=mid;i>0;i--){ int p=(int) (Math.random()*i); b[k++]=name[p]; tmp=name[i-1]; name[i-1]=name[p]; name[p]=tmp; } for(String xString:a){ System.out.println(xString); } for(String xString:b){ System.out.println(xString); }
qq_31919421 2017-07-21
  • 打赏
  • 举报
回复
楼上正解,谢谢一楼的点拨。
Freefish1994 2017-07-20
  • 打赏
  • 举报
回复
LS正解
	public static void main(String[] args) {
		List<String> strList = Arrays.asList(new String[] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12" });
		Collections.shuffle(strList);
		String[] strs1 = new String[strList.size() / 2], strs2 = new String[strList.size() / 2];
		for (int i = 0; i < strs1.length; i++) {
			strs1[i] = strList.get(i);
			strs2[i] = strList.get(i + strs1.length);
		}
	}
李德胜1995 2017-07-20
  • 打赏
  • 举报
回复
遍历String数组,装在List集合,使用Collections.shuffle(list)方法打乱数组,平均分为两组即可。。。
qq_31919421 2017-07-20
  • 打赏
  • 举报
回复
12个字符串随机分配为两组,每组6个字符串。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧