费用项目 通讯费 办公费 物业费 …… 合计

财务科
后勤科
合计 实现上面的统计.
科室名和费用项目都为动态的.
请高手们帮忙..

解决方案 »

  1.   

    貌似一个表搞定啊
    colname:科室名 各费用项目
      

  2.   

    希望LZ别见笑哈,我写的很差,可能还有别的好方法,我贴出来仅供参考
    代码很杂乱头都晕了public enum OfferM {//科项目名字
    财务科 ,后勤科;
    }
    public enum OfferProj {//费用项目名字
    通讯费 ,办公费 ,物业费;
    }
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Iterator;public class Account {
    static Enum[] op = OfferProj.values();
    static Enum[] m = OfferM.values();
    static HashMap<String, ArrayList> key = new HashMap<String, ArrayList>();
    static HashMap<String, String> value = new HashMap<String, String>();
    static ArrayList mValue = new ArrayList();
    static ArrayList changeValue=new ArrayList();
    static ArrayList<ArrayList> mv = new ArrayList<ArrayList>();
    static String checkName=null;
    public static void getM() {
    for (Enum pitem : op) {
    mValue.add(String.valueOf(pitem));
    }
    mv.add(mValue);
    for (Enum mitem : m) {
    key.put(String.valueOf(mitem), mv);
    }
    }
    //将input值存到项目名字keyName中 调用addMKeyofItem(String keyName);
    public static void addMItem(String keyName, double input) {
    changeValue.add(String.valueOf(input));
    addMKeyofItem(keyName);
    }
    //changeValue为static 所以添家一次的时候不断在变
    public static void addMKeyofItem(String keyName) {
    if(checkName==null){
    checkName=keyName; }
    if(!checkName.equals(keyName)){
    changeValue=new ArrayList();
    checkName=keyName;
    key.put(checkName, changeValue);

    }
    key.put(checkName, changeValue); }
    public static void getView(String keyName) {
    int div = 0;
    ArrayList values = key.get(keyName);
    System.out.println(values);
    // for (Iterator it = values.iterator(); it.hasNext();) {
    // ArrayList item=(ArrayList)it.next();
    // for(Iterator i=values.iterator();i.hasNext();){
    // if (div % 3+3 == OfferProj.values().length) {
    // System.out.println();
    // }
    // if (div > OfferProj.values().length) {
    //
    // }
    // System.out.print(" "+String.valueOf(i.next()));
    // div++;
    // }
    // }
    }
    public static void main(String[] args) {
    getM();
    addMItem("财务科", 1.5);
    addMItem("财务科", 0.5);
    addMItem("财务科", 1.5);
    addMItem("后勤科", 3.5);
    addMItem("后勤科", 2.5);
    addMItem("后勤科", 1.5);
    getView("财务科");
    getView("后勤科");
    }
    }