用于在Java中搜索树图的嵌套循环

时间:2015-03-31 00:07:50

标签: java loops treemap

在我的程序的一部分中,我使用下面的函数进行非常简单的计算。但是除了第一次循环运行的第一个输出都是错误的。地图getFuncTypeOrg有24个TreeMaps,就像这个具有不同大小的TreeMaps。

AUF_1427=[AUF_1427034486856_435, Function 20, 1.0, NotSet, ORA_1427034499672_440, Organizational unit 7, Computer-based appl. component 3, RechAnwendungsbaustein, hasType, Green]

该函数假设为该数据赋予组织单位7 = [100,1,1]。它的大小大于6,其第五个值等于另一个地图中的org值,它包含Green。但它给了我Organizational unit 7=[72.22222222222223, 18.0, 13.0] 我无法弄清楚出了什么问题?

public TreeMap<String, List<Double>> orgFuncFuncType() {
    double typeNum = 0;
    double greenNumber = 0;
    double saturationOrg = 0;
    for (String org : getSortedAssignedOrg().values()) {
        List<Double> value = new ArrayList<Double>();
        for (List<String> entry : getFuncTypeOrg().values()) {
            if (entry.size() > 6 && entry.get(5).equals(org)) {
                typeNum++;
                if (entry.contains("Green")) {
                    greenNumber++;

                }

            }

        }

        saturationOrg = (greenNumber * 100) / typeNum;
        value.add(saturationOrg);
        value.add(typeNum);
        value.add(greenNumber);
        orgFuncFunctype.put(org, value);
        System.out.println(orgFuncFunctype);
    }
    return orgFuncFunctype;
}

1 个答案:

答案 0 :(得分:0)

我必须在主循环结束时将计数器设置为0

        .
        .
orgFuncFunctype.put(org, value);
    greenNumber =0;
        totalNum = 0;
}
return orgFuncFunctype;