Java - if/else

Java

21/08/2019

Bom Dia, alguém sabe me dizer o por quê do meu código não sair do if mesmo quando a condição fica false ? meu código :

while (true) {
try {

if(data1.after(cal2) && data.before(cal2)) {
calculoDeUsodaCpu = calculoDeUsodaCpu + usoDaCpu;
calculoDeUsoDeMemoria = calculoDeUsoDeMemoria + usoDeMemoria;
System.out.println("CPU :" + calculoDeUsodaCpu);
System.out.println("MEMORIA:" + calculoDeUsoDeMemoria);
System.out.println("Contador = " + cont);

}else{
System.out.println("Fora de tempo esperado");
}
cont++;
Thread.sleep(1000);

}
catch (InterruptedException e) {
}
}
}

obs : ele está rodando dentro do método Run() de uma Thread, pelo que parece ele faz a verificação apenas uma vez, e entra no loop infinito
Paulo Lima

Paulo Lima

Curtidas 0

Melhor post

Jothaz

Jothaz

21/08/2019

Você esta utilizando um While (True) o que vai gerar um loop infinito.

Para sair dos loop use um break; onde você quer interromper.

Ou mude a condição do if para o While que ao ser atendida encerra o loop.

Ou use:

      do {

                   ..............................

            }
        } while (condicao);
GOSTEI 1

Mais Respostas

Paulo Lima

Paulo Lima

21/08/2019

Você esta utilizando um While (True) o que vai gerar um loop infinito.

Para sair dos loop use um break; onde você quer interromper.

Ou mude a condição do if para o While que ao ser atendida encerra o loop.

Ou use:

      do {

                   ..............................

            }
        } while (condicao);
A ideia do código é que o if fique dentro do loop para que as variáveis de calculo fiquem somando os valores até que o tempo que faz a condição ser true acabe, o problema é que o if não sai da condição de true pra false, e as variáveis continuam somando
GOSTEI 0
POSTAR