Java 我如何计算相同ID的和,使我们在相同的结果集上为零
我得到如下某些值:Java 我如何计算相同ID的和,使我们在相同的结果集上为零,java,hashmap,sum,Java,Hashmap,Sum,我得到如下某些值: no value 2 5 2 4 2 1 4 10 4 7 1 3 5 4 String outputVal = ""; Map<Integer, Double> sum = new HashMap<>(); int c1; doubl
no value
2 5
2 4
2 1
4 10
4 7
1 3
5 4
String outputVal = "";
Map<Integer, Double> sum = new HashMap<>();
int c1;
double c2;
while (rst.next()) {
c1 = rst.getInt(1);//->no
c2 = rst.getDouble(8);//->value
if (sum.containsKey(c1)) {
sum.put(c1, sum.get(c1) + c2);
} else {
sum.put(c1, c2);
}
outputVal = outputVal + "~" + sum.get(c1);
}
System.out.println(outputVal );
我现在做的是:
no value
2 5
2 4
2 1
4 10
4 7
1 3
5 4
String outputVal = "";
Map<Integer, Double> sum = new HashMap<>();
int c1;
double c2;
while (rst.next()) {
c1 = rst.getInt(1);//->no
c2 = rst.getDouble(8);//->value
if (sum.containsKey(c1)) {
sum.put(c1, sum.get(c1) + c2);
} else {
sum.put(c1, c2);
}
outputVal = outputVal + "~" + sum.get(c1);
}
System.out.println(outputVal );
String outputVal=”“;
Map sum=新的HashMap();
int c1;
双c2;
while(rst.next()){
c1=rst.getInt(1);//->否
c2=rst.getDouble(8);//->值
if(总容量(c1)){
求和(c1,求和(c1)+c2);
}否则{
求和(c1,c2);
}
outputVal=outputVal+“~”+求和获取(c1);
}
System.out.println(outputVal);
所以我得到的输出是:
5~9~10~17~10~3~4
我需要的是:0~0~10~0~17~3~4
这意味着,如果no保持不变,那么加起来就是总数,保持不变的no应该变成零。只是一个离题的想法:永远不要多次使用
id
s:)
@Tarekisid
就是一个例子,我用作参考。问题已更新。看一看我不明白你是怎么得到0~0~10~0~17~3~4的,你能澄清一下你的算法吗。@奈特兄弟你明白吗5~9~10~17~10~3~4
我需要的是与某个特定的no对应的总和,应该显示为最终的和,剩余的应该为空(我表示为0)。希望你现在明白了。只是一个离题的想法:永远不要多次使用id
s:)
@Tarekisid
就是一个例子,我用来参考。问题已更新。看一看我不明白你是怎么得到0~0~10~0~17~3~4的,你能澄清一下你的算法吗。@奈特兄弟你明白吗5~9~10~17~10~3~4
我需要的是与某个特定的no对应的总和,应该显示为最终的和,剩余的应该为空(我表示为0)。希望你现在明白了。