Java - if/else
21/08/2019
0
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
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
Curtir tópico
+ 0
Responder
Post mais votado
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:
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);
Jothaz
Responder
Mais Posts
21/08/2019
Paulo Lima
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:
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 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);
Responder
Clique aqui para fazer login e interagir na Comunidade :)