Resultado infinito!

fiz um codigo para o seguinte exercicio: Escreva um algoritmo que apresente todas as potencias de 2 que sejam inferiores a 20000.
Só que quando coloco o progrma que fiz a rodar ele retorna valores infinitos:

public static void main(String[] args) {
    int i=1;
    double soma = 0;
    do {
        soma=Math.pow(i,2);
        System.out.println(soma);
        i++;
        if (soma>=20000){
            i--;
            soma-=(Math.pow(i,2));    
        }
    } while (soma<20000);   
}

O que você quer que aconteça quando a soma for mais que 20000? Pare o programa? Se sim, apague o if.

1 curtida

A soma ou o resultado for interior a 20.000?

A soma :wink: