我希望通过php或Java将单词或名称按特定顺序输出到组中,但不知道如何做到这一点。我将举例说明顺序:(为了澄清,这不是家庭作业。)我这样做是为了我主办的一场比赛,这会使我在比赛期间很容易地产生种子)
姓名数量: 12组:3
输出:
第一组:希尔德·弗兰肯·赫米尼亚·拉金·关立群
第2组: Earlie Uphoff Hermelinda Hostetter Esther Farraj
第三组:富拉克莱·伯妮斯·西尔瓦·塔纳·奥尔金
第四组:维森塔·巴斯金·内斯比·帕穆拉·达文
该列表将下一个名称按顺序插入到一个新组中,直到没有剩下的组,然后重新启动,直到没有任何名称。
发布于 2015-06-05 21:40:51
PFB样本代码。我已经创建了一个Group类,它包含一个组(字符串对象数组)。一个包含随机数量的组对象的ArrayList。
程序基于组的输入名称和大小是动态的:
import java.util.ArrayList;
import java.util.List;
public class Group {
String group[];
public Group(int groupSize) {
this.group = new String[groupSize];
}
@Override
public String toString() {
StringBuilder strBuilder = new StringBuilder();
for (int i = 0; i < group.length; i++) {
if (i != 0)
strBuilder.append(", ");
strBuilder.append(group[i]);
}
return strBuilder.toString();
}
public static void main(String[] args) {
String[] inputArray = { "Hilde Frankum", "Earlie Uphoff",
"Rich Laclair", "Vicenta Baskin", "Herminia Lakin",
"Hermelinda Hostetter", "Bernice Sylva", "Blossom Nesby",
"Lashon Kwan", "Esther Farraj", "Tana Olguin", "Pamula Davin" };
int numGroups = 4;
createGroup(inputArray, numGroups);
}
public static void createGroup(String inputArray[], int numGroups) {
int groupSize = inputArray.length / numGroups;
List<Group> lists = new ArrayList<Group>();
for (int i = 0; i < numGroups; i++)
lists.add(new Group(groupSize));
for (int i = 0, x = 0; i < groupSize; i++)
for (int j = 0; j < numGroups; j++)
lists.get(j).group[i] = inputArray[x++];
for (Group groups : lists)
System.out.println(groups.toString());
}
}
发布于 2015-06-05 21:07:53
$arrayOfNames = array(
'Hilde Frankum',
'Earlie Uphoff',
'Rich Laclair',
'Vicenta Baskin',
'Herminia Lakin',
'Hermelinda Hostetter',
'Bernice Sylva',
'Blossom Nesby',
'Lashon Kwan',
'Esther Farraj',
'Tana Olguin',
'Pamula Davin'
);
sort($arrayOfNames);
$ar = array_chunk($arrayOfNames, 3);
foreach($ar as $key => $groups){
echo "Group #" . ($key + 1) .' '. implode(' ',$groups) . "\n";
}
发布于 2015-06-05 21:33:03
下面是一个应该这样做的Java方法。
String[][] groupThem(ArrayList<String> /*could be an array without many changes*/ things, int sizeOfGroups){
int qtyOfThings = things.size();
int qtyOfGroups = qtyOfThings / sizeOfGroups;
String[][] groups = new String[qtyOfGroups][sizeOfGroups];
int counter = 0;
while(counter < qtyOfThings){
groups[counter%qtyOfGroups][counter%sizeOfGroups] = things.get(counter);
counter++;
}
return groups;
}
https://stackoverflow.com/questions/30675249
复制相似问题