题目: 输入m,n,m个学生,随机分配到n个专业,用java函数实现,输出每个专业的学生名单。
我是这样想的,对于学生进行遍历,这样每次可以得到一个学生,然后分的专业是设置为一个List,但是要根据专业个数来进行创建不同个数的List(这块就已经难倒我了)。然后遍历学生的同时,随机抽取一个list(这里随机选取一个list,我在想怎么随机选取list呢),然后将学生add进入list。这种方法好像有问题。
下面的解题代码不是属于随机这个概念。有大佬可以提供下解决思路吗,我太笨了。
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
public class zuoyedemo {
public static void main(String[] args) {
System.out.println("请输入学生数:");//5
Scanner scanner = new Scanner(System.in);
int students = scanner.nextInt();
System.out.println("请输入分组数:");//2
int groups = scanner.nextInt();
//随机分组,根据输入的组数,可以随机分成的组数
/*Random random = new Random();
int s = random.nextInt(groups);
System.out.println(s);*/
//对人数进行遍历。
for (int i=students;i>=1;i--){
//判断分组与人数的差别
if (groups>students){
String message = "输入分组数大小学生人数。请重新尝试。";
System.out.println(message);
} else {
//第一个学生开始分组,得到的取余值就是组号。循环即可分组
int num = i % groups+1;//1
System.out.println("学生学号"+i+"分配到第:"+num+"组。");
}
}
}
}