Escreva um programa que pede ao utilizador um valor limite e depois dá como resultado a soma de todos os números inteiros múltiplos de 3 e de 5, entre 1 e esse limite

Usei o seguinte código :

 System.out.println("Introduza um valor limite: ");
    int valor = keyboard.nextInt();
    int soma = 0;
     for (int i = 1; i <= valor; i = i+1){
        if(i % 3 == 0 && i % 5 == 0){
            soma = soma + i;
        }
    }
    System.out.println(soma); 

Mas no output não aperece o valor correto, ajuda por favor.

Tente desta forma o if:

if(i % 3 == 0 || i % 5 == 0){
soma = soma + i;
System.out.println("Valores de i: "+i);
}
}
System.out.println("Valor da Soma: "+soma);

Multiplos de 3 e de 5, não multiplos de 3 ou de 5

Você pode dar um exemplo de entrada e saída ? Ao que tudo indica, o programa está correto …

Output:

Introduza um valor limite: 15
15

Mas acho que o resultado correto seria 24

Está correto, porque seria 24 ?

Então o programa está certo, se vc quer a soma dos números que são múltiplos de 3 e de 5 ao mesmo tempo, sendo o valor máximo 15, o resultado é 15 mesmo.

Erro meu, obrigado

Obrigado, não tinha interpretado bem o enunciado