Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Soluções

Eu fiz de várias formas. As que eu mais gostei foram estas:

Somando:

public class MultiplosTres {
    public static void main(String[] args) {
        for (int i = 3; i < 100; i += 3) {
            System.out.print(i + " ");
        }
    }
}

De trás pra frente:

public class MultiplosTres {
    public static void main(String[] args) { 
 int divisor = 3; 
 for(int contador = 100; contador > 0; contador--) { 
     if (contador % 3 == 0) { 
         System.out.print(contador); 
         System.out.print(" "); 
         } 
     } 
 }
}

Multiplicando: essa ficou um pouco longa demais. Coloquei um contador de linhas para imprimir no máximo 10 por linha.

public class MultiplosTres {
    public static void main(String[] args) {
        int multiplicador = 3;
        int contaLinha = 0;
        for (int contador = 1; contador <= 100; contador++) {
            int resultado = multiplicador * contador;
            if (resultado < 100) {
            System.out.print(resultado);
            System.out.print(" ");
            contaLinha++;
            if (contaLinha == 10) {
                contaLinha = 0;
                System.out.println();
                }
            }
        }
    }
}
2 respostas
solução!

Olá Fernando, tudo bem com você?

Muito legal sua solução, obrigado por compartilhar aqui com a gente!

Uma dica, dentro da sua solução Multiplicando, para limpar mais o código, é adicionar uma condição de parada quando o resultado for maior ou igual a 100, isso é, quando o resultado for maior ou igual a 100, o laço para de executar. Pois dessa maneira proposta, ele continua executando, apenas não mostra nada na tela. Com a condição de parada, o laço vai ficar assim:

for (int contador = 1, resultado = 0; contador <= 100 && resultado < 99; contador++) {
            resultado = multiplicador * contador;
            System.out.print(resultado);
            System.out.print(" ");
            contaLinha++;
            if (contaLinha == 10) {
                contaLinha = 0;
                System.out.println();
                }
        }
}

Assim, removemos uma verificação que estava sendo dentro do código e a partir de agora, a cada iteração do laço ele vai verificar duas coisas: se o contador ainda é menor ou igual a 100, e se o resultado ainda não ultrapassou o valor 99, que é o ultimo multiplo de 3 existente no conjunto [0,100]. Desta maneira, o laço será quebrado assim que uma dessas duas condições não for satisfeita, e o comportamento de execução será o mesmo, com ganho de performance!

E lembrando, dentro do laço for, podemos inicializar quantas variáveis quisermos, usar operadores lógicos para criar condições complexas de paradas e acrescentar ou decrescer quantas variáveis quisermos também, mas sempre prezando pela legibilidade do código, para que seja fácil de ler e entender!

Um grande abraço e bons estudos!

Obrigado, não tinha percebido o loop infinito. Bom saber que o for pode ser usado assim.