Imprimir todos os números de 1 a 100 e dizer se ele é ou não múltiplo de 3

Olá pessoal, essa é a minha primeira participação no forúm do GUJ, já faz uns 40 dias que estou circulando pelo mundo JAVA. É coisa de outro mundo… encontrei na net alguns materiais interessantes, mas todos tem o mesmo problema: Não existem muitos exercícios práticos. Um deles é o que citei como título do tópico.

Peguei a apostila do GUJ ontem para alavancar meus estudos, estou no propósito de dedicar 4 horas por dia para estudar JAVA, mas já faz 6 horas que estou aqui na frente do computador tentando resolver o exercício 3.8.

Consegui resolver os três primeiros depois de muita luta, mas o 4º, resolvi mais ou menos. Preciso de uma outra opinião. O código que escrevi está assim:

[code]import java.io.*;
class MeuPrograma3{
public static void main(String[] args){
for(int i = 1; i <= 100; i++) {
if(i%3 == 0){
System.out.println("Eh Multiplo= " +i);
System.out.println("Nao eh multiplo= " + (i%3 != 0));

   }

  }

}
}[/code]

Deu certo mas, gostaria que vcs executassem aí para ver como é que fica o resultado final, minha dúvida é:
É isso mesmo que o GUJ queria?

acho q faltou o else…

			if (i % 3 == 0) {
				System.out.println("Eh Multiplo= " + i);
			} else {
				System.out.println("Nao eh multiplo= " + (i % 3 != 0));
			}

:slight_smile: Muito Obrigado Focão!!!

Mas ainda assim ele não apresenta os números que não são multiplos, em vez de apresentar os números:
[list]1[/list]
[list]2[/list]

ele apresenta apenas a mensagem de “Não eh múltiplo = true”. Lógico que depois de sua dica as coisas melhoraram pois nem isso ele imprimia antes. Mas tem alguma forma de ele apresentar os números junto com a mensagem “Não eh multiplo”.

Se não houver beleza. Quero entender bem esse negócio de for, while, if e else na prática.


if (i % 3 == 0) {   
    System.out.println(i + " Eh");   
} else {   
    System.out.println(i + " Nao eh");   
}  

mas nunca use + em String quando for concatenar use StrngBuffer

Opa.
Um bom site de exercícios de lógica usando Java é esse: http://www.javabat.com/
Tem umas coisas meio difíceis aí :slight_smile:

Abraço.

[edit]
Sobre seu problema:

 for (i = 3; i <= 100; i = i + 3) { System.out.println(i); }

Para imprimir todos os múltiplos de 3.
Agora, pra apresentar de 1 a 100 e dizer se é múltiplo:

for (i = 1; i <= 100; i++) { if ((i % 3) == 0) System.out.println("Multiplo."); else System.out.println("Nao multiplo."); }

Abraço.
[/edit]

Pessoal, muito obrigado mesmo, gastei quase um dia inteiro fazendo várias tentativas, na verdade foram seis horas quebrando a cabeça. Muito Obrigado mesmo, depois de ter errado muito, essa dica de vocês foi que precisava para abrir minha mente.

Podem ter certeza que quando postar uma dúvida no fórum é por que a minha cuca já vai estar rachando.!!!
rsrsrsrsrsrsr

Um abraço a todos, Focão e André Brito. Valeu!