比如说,数组元素为int[] array={1,3,4,8,7,6,9,11,17,21,24,31;
将这个数组随机分为四组,每组中的元素都是从array中随机分配的,有好的方法实现吗。
将这个数组随机分为四组,每组中的元素都是从array中随机分配的,有好的方法实现吗。
解决方案 »
- java 枚举问题
- 一個取串的問題!有點急!
- 如何在hibernate使用JNDI的方式连接sqlserver2005数据库?
- !!!在线急等~关于ResultSet和NullPointerException
- 用贪婪法解决翻译匹配的问题(大量字符串替换)
- JAVA软件开发需要掌握什么技术啊
- 初学者很简单的问题,请大家给于帮助
- rowset.jar的用法
- 设置classpath的作用是什么??
- java 中多线程问题?为什么最后输出的答案不是2000 b=1000有哪位大神详细分析一下两个线程之间怎么运行的吗?感激不尽
- Jakarta POI
- java学习中,写了一个删除文件的小工具,供大家一笑
int[] array = { 1, 3, 4, 8, 7, 6, 9, 11, 17, 21, 24, 31 };
List<Integer> list = new ArrayList<Integer>();
for (Integer i : array) {
list.add(i);
}
Collections.shuffle(list);
int arrayCount = 3; //分的组数
int arraySumCount = list.size() / arrayCount; //每组数量
int startIndex = 0; //每组开始下标
StringBuilder sBuilder = new StringBuilder();
for (int i = 0; i < list.size(); i++) {
if ((i + 1) % arraySumCount == 0) {
for (int j = startIndex; j <= i; j++) {
sBuilder.append(list.get(j)).append(",");
}
sBuilder.append("/");
startIndex = i + 1;
}
}
String strArrayString[] = sBuilder.toString().split("/");
for (String string : strArrayString) {
System.out.println(string.substring(0, string.length() - 1));
}
}
public static void main(String[] args) {
int[] array = { 1, 3, 4, 8, 7, 6, 9, 11, 17, 21, 24, 31 };
Random random = new Random();
int[] array1 = new int[3];
int[] array2 = new int[3];
int[] array3 = new int[3];
int[] array4 = new int[3];
for (int i = 0; i < 2; i++) {
int index = random.nextInt(12);
array1[i] = array[index];
}
for (int i = 0; i < 2; i++) {
int index = random.nextInt(12);
array2[i] = array[index];
}
for (int i = 0; i < 2; i++) {
int index = random.nextInt(12);
array3[i] = array[index];
}
for (int i = 0; i < 2; i++) {
int index = random.nextInt(12);
array4[i] = array[index];
}
System.out.print("数组1:");
for (int i = 0; i < array1.length; i++) {
System.out.print(array1[i] + ",");
}
System.out.print("数组2:");
for (int i = 0; i < array2.length; i++) {
System.out.print(array2[i] + ",");
}
System.out.print("数组3:");
for (int i = 0; i < array3.length; i++) {
System.out.print(array3[i] + ",");
}
System.out.print("数组4:");
for (int i = 0; i < array4.length; i++) {
System.out.print(array4[i] + ",");
}
}
}
这个没去重复,如果要去重复的话,得用list