在程序的一部分中,我使用下面的函数进行了一个非常简单的计算。但是除了第一次循环的第一个输出之外,所有的都是错误的。地图getFuncTypeOrg
有24个像这样大小不同的树映射。
AUF_1427=[AUF_1427034486856_435, Function 20, 1.0, NotSet, ORA_1427034499672_440, Organizational unit 7, Computer-based appl. component 3, RechAnwendungsbaustein, hasType, Green]
该函数假定该数据的值为组织第七单元=[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;
}
我不得不在主循环结束时将计数器设置为0
.
.
orgFuncFunctype.put(org, value);
greenNumber =0;
totalNum = 0;
}
return orgFuncFunctype;