黑马程序员技术交流社区

标题: 谁能帮我想一个平均分配算法? [打印本页]

作者: wx348602984    时间: 2015-4-18 16:23
标题: 谁能帮我想一个平均分配算法?
package fenpei;

import java.util.ArrayList;
import java.util.List;

/*
* 13个客户分给3个业务员 余下的随机分配给坐席
*/
public class Test1 {
        //客户集合
        public static List cus=new ArrayList();
        //业务员集合(坐席)
        public static List per=new ArrayList();
        //客户和坐席的关系集合
        public static List<Guanxi> ggg=new ArrayList<Guanxi>();
       
        public static void main(String[] args) {
                for(int i=1;i<=17;i++){
                        cus.add(i);
                }
                for(int j=1;j<=9;j++){
                        per.add(j);
                }
               
                //平均分的次数
                int count=cus.size()/per.size();
                int k=0;
               
                int n=0;
                //循环每一个员工
                //把每个员工都分配给关系对象
                for(n=0;n<cus.size();n++){
                        Guanxi g=new Guanxi();
                        g.setCid(Integer.parseInt((cus.get(n).toString())));
                       
                        //如果坐席的下标超出(平均分配结束剩下为余数)
                        if((k)>=per.size()){
                                //随机分配坐席
                                int index=(int)(Math.random()*per.size());
                                System.err.println(index);
                                g.setPid(Integer.parseInt(per.get(index).toString()));
                        }else{
                                g.setPid(Integer.parseInt(per.get(k).toString()));
                        }
                       
                        //客户除以批次数能除尽 换下一个坐席
                        if((n+1)%count==0){
                                k++;
                        }
                        ggg.add(g);
                }
               
                for (Guanxi g : ggg) {
                        System.out.println("客户:"+g.getCid()+"---坐席:"+g.getPid());
                }
        }
}

class Guanxi{
        private int cid;
        private int pid;
        public int getCid() {
                return cid;
        }
        public void setCid(int cid) {
                this.cid = cid;
        }
        public int getPid() {
                return pid;
        }
        public void setPid(int pid) {
                this.pid = pid;
        }
       
}

上面的是我写的感觉很不好 求大神指点




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2