무 작위 그룹
22735 단어 자바
student: 한 반 에 있 는 모든 학생 의 정 보 를 List 에 저장 하고 그룹 수 나 인원 을 계산 합 니 다. List. size () 에서 랜 덤 으로 int 를 선택 하고 index 에 따라 그룹 에 저장 합 니 다. List 에서 remove. for (그룹 group) {for (인원수 people) {사람 이 그룹 에 저장 합 니 다}}
@Override//输入组数
public List randomByGroup(String claid, int group) {
List<Student> student = studentDao.selectByClaId(claid);
int people = 0;
int remain = 0;
if (group != 0) {
people = student.size() / group;
if (student.size() % group != 0) {
remain = student.size() % group;
}
}else{
log.error("小组不能为0");
}
List gro = new ArrayList();
for (int i = 0; i < group; i++) {
// 数据库生组,给学生set组
StudentGroup studentGroup = new StudentGroup();
studentGroup.setName("第"+(i+1)+"组");
studentGroup.setClaId(claid);
StudentGroup s =save(studentGroup);
String groId = s.getId();//生成小组的id
List grostu = new ArrayList();
Random r = new Random();
grostu.add("第"+(i+1)+"组");
for (int j = 0; j < people; j++) {
int n = r.nextInt(student.size());//[0,size)中随机取int
grostu.add(student.get(n).getName());
Student st = new Student();
st.setGroId(groId);
st.setId(student.get(n).getId());
studentDao.update(st);
student.remove(n);
}
if(remain!=0){
int n = r.nextInt(student.size());
grostu.add(student.get(n).getName());
student.remove(n);
Student st = new Student();
st.setGroId(groId);
st.setId(student.get(n).getId());
studentDao.update(st);
remain -=1;
}
gro.add(grostu);
}
return gro;
}
@Override//输入人数
public List randomByPeople(String claid, int people) {
List<Student> student = studentDao.selectByClaId(claid);
int group = 0;
if (people != 0) {
group = student.size() / people;
if (student.size() % people != 0) {
group +=1;
}
}else{
log.error("人数不能为0");
}
List gro = new ArrayList();
for (int i = 0; i < group; i++) {
// 数据库生组,给学生set组
StudentGroup studentGroup = new StudentGroup();
studentGroup.setName("第"+(i+1)+"组");
studentGroup.setClaId(claid);
StudentGroup s =save(studentGroup);
String groId = s.getId();//生成小组的id
List grostu = new ArrayList();
Random r = new Random();
grostu.add("第"+(i+1)+"组");
for (int j = 0; j < people; j++) {
if(student.size()==0){
break;
}
int n = r.nextInt(student.size());//[0,size)中随机取int
grostu.add(student.get(n).getName());
Student st = new Student();
st.setGroId(groId);
st.setId(student.get(n).getId());
studentDao.update(st);
student.remove(n);
}
gro.add(grostu);
}
return gro;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.