qq_46406613 2023-04-01 19:02 采纳率: 100%
浏览 25
已结题

Java中的SpringBoot项目中遇到的排班问题

img


如上图,我应该如何把图中的志愿者比如云三、段七等等随机分配给每一项志愿服务,简单点说,就是我要如何按星期几给每一个志愿服务分配人手(一个或者两个都可以),志愿服务和星期几是固定的,没有星期六和星期天,用的Java中的SpringBoot框架+mysql,求大神教教我,头一回遇到这种问题,脑瓜子嗡嗡的,想不出来,如有用必采纳!

  • 写回答

2条回答 默认 最新

  • 社区专家-Monster-XH 2023-04-01 19:11
    关注

    基于Monster 组和GPT的调写:

    
    // 定义一个包含志愿服务和星期几的表格
    String[][] schedule = {
            {"人员隔离", "星期一", "星期二", "星期三", "星期四", "星期五"},
            {"核酸检测", "", "", "", "", ""},
            {"信息采集", "", "", "", "", ""},
            {"体温测量", "", "", "", "", ""},
            {"心理援助", "", "", "", "", ""}
    };
    
    // 定义一个包含所有志愿者的列表
    List<String> volunteers = Arrays.asList("云一", "云二", "云三", "段七", "李四", "赵六");
    
    // 对于每个志愿服务和星期几组合,随机选择一个或两个志愿者
    for (int i = 1; i < schedule.length; i++) {
        for (int j = 1; j < schedule[i].length; j++) {
            if (!schedule[i][j].isEmpty()) {
                List<String> selectedVolunteers = new ArrayList<>();
                if (j % 2 == 0) {
                    // 选择两个志愿者
                    Collections.shuffle(volunteers);
                    selectedVolunteers.add(volunteers.get(0));
                    selectedVolunteers.add(volunteers.get(1));
                    volunteers.remove(0);
                    volunteers.remove(0);
                } else {
                    // 选择一个志愿者
                    Collections.shuffle(volunteers);
                    selectedVolunteers.add(volunteers.get(0));
                    volunteers.remove(0);
                }
                schedule[i][j] = String.join(",", selectedVolunteers);
            }
        }
    }
    
    // 打印结果
    for (String[] row : schedule) {
        System.out.println(Arrays.toString(row));
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月10日
  • 已采纳回答 4月2日
  • 创建了问题 4月1日

悬赏问题

  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)