按成绩段随机分班算法

 /**
     * 获取所有学生列表
     * @param request
     * @author 才中
     */

    @RequestMapping("/fbUpdate")
    public String fbUpdate(HttpServletRequest request){
        Map<String,Object> map = new HashMap<String,Object>();
        int count =userService.findCount();
        int countPerson =userService.findCountPerson();
        int start=0;
        int transe=countPerson/count;
        if(countPerson%count !=0){
            transe=transe+1;
        }
        for(int j=0;j<transe;j++){
            String[] countList=doSort(count);
            map.put("start", start*count);
            map.put("end", count);
            List<User> findAll = userService.findAll1(map);
        for(int i=0;i<findAll.size();i++){
            User user=findAll.get(i);
            user.setBh(countList[i]+"");
            userService.update(user);
            
        }
        start=start+1;
        }
        List<User> findAll1 = userService.findAll();
        request.setAttribute("userList", findAll1);
        return "/allUser";
    }
    
    /**
     * 对数组进行随机排序
     * @param request
     * @return
     * @author 才中
     */

    public String[] doSort(int count){
        String[] sArr=new String[count];
        for(int i=1;i<=count;i++){
            sArr[i-1]=i+"";
        }
        String[] tempArr= new String[sArr.length];
        Random random = new Random(new Date().getTime());

        int randomIndex = -1;
        for(int i=0;i<tempArr.length;i++){
        while(tempArr[i] == null){
        randomIndex = random.nextInt(sArr.length);
        if(sArr[randomIndex] != null){
        tempArr[i] = sArr[randomIndex];
        sArr[randomIndex] = null;
        }
        }
        }
        return tempArr;
        }}
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值