Escopo

2 respostas
E

Ôpa!

Eu declaro a variável kWh fora do while, dentro dele eu insiro os valores e quando vou acessar os valores de kWh eles aparecem nulos. É como o que se o que acontecesse dentro do while fosse ignorado

double[] kWh;
kWh = new double[3];
while(rsTensao.next()){
    rsCorrente.next();
    kWh[i] = rsTensao.getDouble("LIDO")*rsCorrente.getDouble("LIDO");
    i++;
}


for (int j = 0; j < iCargas; j++){
            rsCarga.next();
            dados.setValue(rsCarga.getString("NOME"), kWh[j]);            
}

Ao adicionar os valores num dataset para produzir um gráfico, os valores de kWh aparecem nulos. Obviamente, sei que os valores que usei para fazer os cálculos dentro do while não são nulos. Não tem como eu enfiar tudo dentro do while pois ainda tem muito código depois disto.

Alguém sabe qual é o meu erro e pode sugerir algo?

Valeu!

2 Respostas

A

Olá edustrat

Bom, o fato de você estar preenchendo o seu array dentro do while não tem nenhum problema. Até porque neste caso você declarou o Array kwh fora das chaves do loop. Eu acredito que o problema possa estar nos seus ResultSets. Confira se eles realmente estão trazendo o que é esperado que eles tragam.
Para ilustrar melhor o que estou falando preparei um exemplo preenchendo o mesmo array que o seu só que sem os datasets. Execute e vai notar que os valores são preenchidos corretamente...

Have fun !

public class TesteArray{
	public static void main(String[] args) {
		double[] kWh;
		kWh = new double[3];
		int i = 0;
		while(i < 3){
			kWh[i] = i * 5;
			i++;
		}


		for (int j = 0; j < 3; j++){
			System.out.println("=>" + kWh[j]);
		}
	}
}
E

Valeu azevedomt, os resultsets realmente não estavam trazendo o que eu queria. O que estava dentro do while nem estava sendo executado, aliás; como o resultset estava nulo, .next() retornava false para o while e o resto não era executado.

T+

Criado 23 de julho de 2005
Ultima resposta 25 de jul. de 2005
Respostas 2
Participantes 2