# Descartar valor anterior

## Recommended Posts

Eu pus um for para calcular as situacoes tais como me foram pedidas no programa

```      int meses[] = { 31, 28, 31,30, 31,30, 31,31 ,30,31,30,31};

int dadosAnuais[] = { 63, 45, 15, 74, 27, 36, 77, 25, 82, 87, 89, 48,100, 91, 98, 94, 85, 87, 31, 11, 64, 81, 26, 60, 86, 78, 30, 69, 59, 25, 64,
4, 73, 94, 85, 25, 40, 24, 77, 61, 97, 69, 57,100,  8, 20, 36, 15, 46, 84, 10, -2, -2,  8, 41, 49, 89, 78, 15,
12, 23, 24, 14, 14, 34, 92, 12, 16, 20, 26, 62, 89, -2,  4, 75, 83, 74, 58, 31, 31, 63, 10, 26, -3, 81, 27, 86, 20, 65,  8,
37, 51, 90, 63, 47, -1, 13, -1, 27,  2, 34, 63, 56, 28, 80, 30, 23,  4, 75, 26, 87, 92, 83, 42, 36, 10, 10, 50, 83, 37,
63, 27,  5, 66, 25, 45, 84, 19, 59,  9, 28, 32, 57, 46, 84, 73, 12, 98, 97, 94, 84, 59, 59, 63, 14, 21, 90, 89, 18, -2, 62,
86, 20, 62, 62, 36, 94, -1,  5, 57, 32, 36, 89, 31, 41, -2, 64, 16, 30, 77, 56, 46, 75, 13, 49, 87, 24, 30, 65, 79,  1,
31, 53, 17, 17, 56,  5, 14, 68, 41, 78, 76, 52, 25, 72, 53, 81, 44, 65, 17, 68, 49, 88, 82, 83, 76, 30, 17, 69, 72, 36, 21,
64, -1, 16, 33, 83, -2, 79, 47, 90, 40, 82, 57, 40, 73, 83, 53,  8, 60, 86, 99, 78, 99, 35, 85,  8, 65, 40, 96, 71, 12, -3,
58, 55,  3, 81, 44, 16, 41, 43, 63, 74, 16, -3, 87, 76, 44, 38,  4, 83, 33, 55, 82, 65, 64, -2, 62, 72, 62,  8,100, 71,
95, 24, 89, 17, -2, 60, 78, 85, 92, 98, 47, 46, 58,  5,  4, 73, 35, 25, 33, 38, 77, 46,  5,  9, 98, 22, 14, 51, 72, 36, 23,
73, 56, 90, 87, 56, 77, 32,  5, 23, 31, 49, 86, 73, 86, 60, 11, 64, 90, 31, 47, 64, 17, 79, 11, 97, 63, 58, 53, 34, 57,
24, 65, 28, 30, 67, 61, 22, 44, 68, 85, 40, 67, 66, 21, 62, 88, 27, -3, -3, 45, 94, 79, 97, 34, 38,  9, 50, 67,  4, 87, 4 };

System.out.print("Ver estatisticas de que mês?\n"

+ "    | 1-Janeiro           2-Fevereiro               |\n"
+ "    | 3-Março             4-Abril                   |\n"
+ "    | 5-Maio              6-Junho                   |\n"
+ "    | 7-Julho             8-Agosto                  |\n"
+ "    | 9-Setembro          10-Outubro                |\n"
+ "    |11-Novembro         12-Dezembro                |\n"
+ "    |Digite -5 para observar as estatísticas anuais.|\n"
+ "    |Digite -4 para terminar a execução do programa.|\n");
do {
switch(opcao) {
case -4: System.out.println("FIM");break;
}
if (opcao==-5 || opcao>=1 && opcao<=12) {
if (opcao==-5) {
diaInicial=0;
}else {
for(int k=0; k < opcao; k++) {
diaFinal =diaFinal +  meses[k];
diaInicial = diaFinal - meses[opcao-1];
}

for (int  dia=diaInicial; dia < diaFinal; dia++) {
piorDia=dia;
melhorDia=dia;
situacao1+=1;
situacao2+=1;
situacao3+=1;
}soma=situacao1 + situacao2 + situacao3;

}    System.out.println("Pior dia: " + (piorDia+1) +" com " + min);
System.out.println("Melhor dia: " + (melhorDia+1) + " com " + max);
System.out.println("Total de dias que ocorreu a situação #1: "+ situacao1);
System.out.println("Total de dias que ocorreu a situação #2: "+ situacao2);
System.out.println("Total de dias que ocorreu a situação #3: "+ situacao3);
System.out.println("Total de dias sem recolhas de dados: "+ soma);
System.out.print("Ver estatisticas de que mês? ");
}

}else {
}
}while(opcao!=-4);
System.out.println("FIM");```

Porém no final quando introduzo outro valor vai somar ao que ja tenho no anterior como tiro isso?

##### Share on other sites

Inicializa as variáveis com um valor neutro no início de cada iteração do ciclo `while`.

Cumprimentos.

Knowledge is free!

##### Share on other sites

19 horas atrás, thoga31 disse:

Inicializa as variáveis com um valor neutro no início de cada iteração do ciclo `while`.

Cumprimentos.

## Create an account

Register a new account

×

• #### Revista PROGRAMAR

• Wiki
• IRC
×
• Create New...