Garrei no BigDecimal ! Alguem pode me ajudar?

Colegas é o seguinte :

Eu estou lendo um arquivo TXT via BufferedReader FileReader linha a linha

Uma linha possui Matricula-Valor-Codigo

As vezes, preciso pegar duas linhas para compor o valor correto pois vem 2 ou 3 linhas para cada Matricula ae eu preciso somar os valores destas linhas para compor o valor total.

então o fluxo é o seguinte :

Loop
Leio a 1ª linha
Guardo a matricula e valor
leio a 2ª linha
comparo a matricula atual com a matricula anterior
Se for igual
pego o valor da linha atual e SOMO com o valor da linha anterior

Gravo o registro e volto a fazer o loop

Como é moeda, estou utilizando a classe BigDecimal mas estou garrado e num sei como fazer soma, vejam meu código :

		if (!socio.getNomeSoc().equals("Não Cadastrado!")){ // Existe o registro !
						if ((socio.getStatusSoc().equals("A")) && (codigo==4230)){ //Associado e Codigo = Mensalidade
							if (matAnt == matSoc){
								BigDecimal valorBd = new BigDecimal(linha.substring(188,203)).add(valorBd);
							}else{
								BigDecimal valorBd = new BigDecimal(linha.substring(188,203));
							}
						}
			

Ele tá dando erro no valorBd dizendo que ele não foi inicializado !!!

Eu preciso apenas somar o valor da linha anterior com o valor da linha atual !!!

Alguem por favor ?

abs

Vimieiro

experimenta inicializar sua variavel com

BigDecimal valorBd = new BigDecimal(0);

antes do seus If´s…

inicializa a valorDb

se for uma variavel local … vc é obrigado a inicializa-la

opa, perai vou testar …

abs

Vimieiro