Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我如何计算相同ID的和,使我们在相同的结果集上为零_Java_Hashmap_Sum - Fatal编程技术网

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
:)
@Tarekis
id
就是一个例子,我用作参考。问题已更新。看一看我不明白你是怎么得到0~0~10~0~17~3~4的,你能澄清一下你的算法吗。@奈特兄弟你明白吗
5~9~10~17~10~3~4
我需要的是与某个特定的no对应的总和,应该显示为最终的和,剩余的应该为空(我表示为0)。希望你现在明白了。只是一个离题的想法:永远不要多次使用
id
s
:)
@Tarekis
id
就是一个例子,我用来参考。问题已更新。看一看我不明白你是怎么得到0~0~10~0~17~3~4的,你能澄清一下你的算法吗。@奈特兄弟你明白吗
5~9~10~17~10~3~4
我需要的是与某个特定的no对应的总和,应该显示为最终的和,剩余的应该为空(我表示为0)。希望你现在明白了。