Soma de multiplos gerados... [resolvido]

3 respostas
Jazzica

Olá, é a primeira vez que posto aqui e acredito que minha dúvida seja um pouco besta...
Bem, sou iniciante em Java e estou fazendo um programa para gerar os múltiplos de dois números (3 e 5, no caso) no intervalo entre 0 e um número inteiro informado pelo usuário, para então informar a soma total (soma mult. 3 + soma mult. 5).
Consegui gerar os múltiplos de cada um mas não sei como somar os valores separadamente, para só então somar o total de 3 com o total de 5.

O código por enquanto está assim:
public static void main(String[] args) {
		System.out.print("Informe um número: ");
		Scanner in = new Scanner(System.in);
		int numero = in.nextInt();
		
		for (int x = 0; numero >= x; x++) {
			 boolean mult3 = true;
             if (x%3 != 0) {
            	 mult3 = false;
             } else if (mult3) {
            	 int soma3 = 0;
            	 soma3 = soma3 + x;
             }
             
             boolean mult5 = true;
             if (x%5 != 0) {
            	 mult5 = false;
             } else if (mult5) {
                 int soma5 = 0;
                 soma5 = soma5 + x;
             }
		}
	}
}

Se alguém puder me dar uma luz, qqer dica, eu agradeço muito :)

3 Respostas

jeffev

Nessa linha aqui int soma3 = 0; e esta int soma5 = 0; está zerando a soma, acredito que essas linhas deveriam ficar antes de inicializar o for.
Então após o for você teria as 2 somas.

victormagno

Você está declarando as variáveis de soma dentro do loop… a cada iteração ela vai zerar.

Essas variaveis boolean são desnecessárias, usa assim:

public static void main(String[] args) {  
        
        System.out.print("Informe um número: ");  
        
        Scanner in = new Scanner(System.in);  
        int numero = in.nextInt();  

        int soma3 = 0;  
        int soma5 = 0;  
          
        for (int x = 0; numero >= x; x++) {  

                if (x%3 == 0) {  
                 soma3 +=  x;  
                }  
                  
                if (x%5 == 0) {  
                    soma5 +=  x;  
                }  

        }  

    }
Jazzica

Ah, o problema foi esse mesmo, as variáveis dentro do loop. Tirei o que estava desnecessário e ajeitei aqui, funcionou bem.
Valeu mesmo :slight_smile:

Criado 15 de janeiro de 2013
Ultima resposta 15 de jan. de 2013
Respostas 3
Participantes 3