Double aberto = new Double(0);
Double pago = new Double(0);
somarContrato(antigos,aberto,pago);
linha.put("valorPago",pago);
linha.put("valorAberto",aberto);
public void somarContrato (Vector antigos, Double aberto, Double pago){
Iterator i = antigos.iterator();
while(i.hasNext()) {
Hastable hash = (Hashtable) i.next();
String estado = (String) hash.get("estado");
if ("aberto".equals(estado) ) {
aberto = new Double(aberto.doubleValue() + ((Double)hash.get("valor")).doubleValue(), 2);
} else if ("liquidado".equals(estado) ) {
pago = new Double(pago.doubleValue() + ((Double)hash.get("valor")).doubleValue(), 2);
} else if ("substituido".equals(estado)){
novos.add(h);
}
if (!novo.isEmpty()) {
somarContrato(metodoX(vector),aberto,pago);
}
}
}
Porque mesmo depois que sai somando tudo ali , quando eu vou colocar no Hashtable linha (os put) ele vai com o valor 0(zero) mesmo inicializado pelo DOuble.
