Não consigo melhorar esse metodo

1 resposta
V

Pessoal,
estou com problema nesse metodo para fazer um loop para usar uma regra que se o período inicial é igual ao período final ele retorna diário e se o período inicial for diferente ao peródo final ele retorna mensal.
Está aqui a parte:

private XYDataset createDataset() {

final XYSeries series = new XYSeries("Variação de chuvas");
	setIdEstacaoPiezometrica(18);
	list();
	NivelAgua nivelAgua = new NivelAgua();
	List<NivelAgua> listNivelAgua = (List) getRequest().getSession().getAttribute(CHAVE_LISTA_RESULTADO);

	
	String dia = "0";
	String mes = "0";
	double somaValores = 0;
	int divisor = 0;
	int contador = 0;
	Double mediaDia = new Double(0);
	Double mediaMes = new Double(0);
	HashMap<Object, Object> diasComMedia = new HashMap<Object, Object>();
	HashMap<Object, Object> mesComMedia = new HashMap<Object, Object>();
	
	for (NivelAgua na : listNivelAgua) {
		dia = new SimpleDateFormat("d").format(na.getDataHoraMedicao());
		mes = new SimpleDateFormat("m").format(na.getDataHoraMedicao());
		for (NivelAgua naI : listNivelAgua) {
			String diaI = new SimpleDateFormat("d").format(naI.getDataHoraMedicao());
			String mesI = new SimpleDateFormat("m").format(naI.getDataHoraMedicao());
			if (diaI.equals(dia)) {
				contador += 1;
				somaValores += naI.getNivelAguaAsDouble();
			} else {
				if (diasComMedia.get(dia) == null) {
					diasComMedia.put(dia, somaValores / contador);
					series.add(Double.parseDouble(dia), somaValores	/ contador);
					//System.out.println("Dia: " + dia + " | Media: "+ somaValores / contador);
			} else {
					if (mesI.equals(mes)) {
						contador += 1;
						somaValores += naI.getNivelAguaAsDouble();
					} else {
						if (mesComMedia.get(dia) == null) {
							mesComMedia.put(dia, somaValores / contador);
							series.add(Double.parseDouble(dia), somaValores / contador);
						}
					}
				}
			}
			somaValores = 0;
			divisor = 0;
			dia = diaI;
			mes = mesI;
			contador = 0;
		}
	}

Tem alguém que pode me ajudar?

Agradecido
Vitor Prieto

1 Resposta

ViniGodoy

Oi. Até poderíamos.

Mas antes, clique com no botão de editar no seu post aí em cima e siga essas dicas:
http://www.guj.com.br/posts/list/50115.java

Sem seu código formatado, fica muito difícil ajudar.

Criado 31 de outubro de 2008
Ultima resposta 31 de out. de 2008
Respostas 1
Participantes 2