Os números não estão saindo na sequência certa, o que fazer?

5 respostas Resolvido
javaprogramação
J

um programa em Java que leia um número N, some todos os números múltiplos de 3 entre 1 e
N, e mostre o resultado obtido.

os multiplos deve aparecer de 0 a ate o numero digitado pelo usuário, porém a sequência está errada.

public static void main(String[] args) {
        Scanner ler = new Scanner(System.in);
        int n, x = 0;
System.out.println("digite um número: ");
    n = ler.nextInt();

  for (int i = 1; i <= n; i++) {
      x++;
      x*=3;
        System.out.println(x);
    }
    }Texto pré-formatado

5 Respostas

S

Você não está verificando se o número é múltiplo de 3.

J

como verifico?

J
if (i % 3 == 0) {
    // é múltiplo de 3
}
H
Solucao aceita

Aqui está o problema. A cada iteração vc soma 1 e multiplica por 3.

x começa em zero. Então vc soma 1 e multiplica por 3, o resultado é 3.

Depois soma 1 de novo (vira 4) e multiplica por 3, resultando em 12.

Aí soma 1, vira 13, multiplica por 3, vira 39. E assim vai…

Se quer os múltiplos de 3, de zero até n, basta começar no zero e incrementar de 3 em 3:

for (int i = 0; i <= n; i += 3) {
    System.out.println(i);
}
J

deu certo!!! obrigada pela ajuda

Criado 7 de maio de 2022
Ultima resposta 10 de mai. de 2022
Respostas 5
Participantes 4