Função

Bom dia !!

Estou iniciando programação em Java, porém tenho muitas duvidas, baixei um material da internet, no site da “caelum”, por sinal muito bom !!, porém tem uns exercicios neste material onde não possui as respostas, criando mais duvidas ainda !, seguinte preciso executar um exercicio com o seguinte enunciado;
3) Imprima todos os múltiplos de 3, entre 1 e 100.

não sei se tem alguma função pra fazer isso, não consegui

[quote=derlitex]Bom dia !!

Estou iniciando programação em Java, porém tenho muitas duvidas, baixei um material da internet, no site da “caelum”, por sinal muito bom !!, porém tem uns exercicios neste material onde não possui as respostas, criando mais duvidas ainda !, seguinte preciso executar um exercicio com o seguinte enunciado;
3) Imprima todos os múltiplos de 3, entre 1 e 100.

não sei se tem alguma função pra fazer isso, não consegui[/quote]

for(int i = 1; i <= 100; i++) { //passa pelas numeros de 1 a 100 if(i % 3 = 0) { //se o resto da divisão entre i e 3 for 0 ele é um multiplo de 3 System.out.println(i); //imprime o multiplo } }

Alguém poderia me dar uma dica de alguma material na net, ou até mesmo algum livro para iniciantes ?

grato pela resposta do exercicio !!

Esse é bem legal para iniciantes:

Java Como Programar (6ª Edição). Autor:. Deitel. Editora:. Prentice Hall Nacional.

Ok Grato !!

[quote=xxta]Esse é bem legal para iniciantes:

Java Como Programar (6ª Edição). Autor:. Deitel. Editora:. Prentice Hall Nacional.

[/quote]

Esse livro é bom mesmo…

Pra quem está começando mesmo…

Pq eu já tenho UM POUCO de prática e experiência com Java e já não consigo mais utilizar o Deitel pra consultar…

Então no começo ele é bom…depois vai ser melhor vc procurar outro mais avançado… :wink:

Fora o livro, essa apostila da caelum é muito legal mesmo, quando eu fui aprender eu usei só ela, e o GUJ para tirar duvidas.

[quote=marcio_gs][quote=derlitex]
não sei se tem alguma função pra fazer isso, não consegui[/quote]

for(int i = 1; i <= 100; i++) { //passa pelas numeros de 1 a 100 if(i % 3 = 0) { //se o resto da divisão entre i e 3 for 0 ele é um multiplo de 3 System.out.println(i); //imprime o multiplo } }

[/quote]

Outra opção

for(int i = 3; i < 100; i+=3) {
  System.out.println(i);  //imprime o multiplo
}

(0 é multiplo de 3 mas é menor que 1. 1 e 2 não são multiplos. 100 tb não é por isso não precisa do igual)

[quote=sergiotaborda][quote=marcio_gs][quote=derlitex]
não sei se tem alguma função pra fazer isso, não consegui[/quote]

for(int i = 1; i <= 100; i++) { //passa pelas numeros de 1 a 100 if(i % 3 = 0) { //se o resto da divisão entre i e 3 for 0 ele é um multiplo de 3 System.out.println(i); //imprime o multiplo } }

[/quote]

Outra opção

for(int i = 3; i < 100; i+=3) {
  System.out.println(i);  //imprime o multiplo
}

(0 é multiplo de 3 mas é menor que 1. 1 e 2 não são multiplos. 100 tb não é por isso não precisa do igual)
[/quote]

Achei seu código bom, porém colocaria o <= em vez do < pensando em futuras mudanças. Se o usuário muda de 3 para 2 ele já não lê o 100. Sem dizer que 102 é a ultima verificação dele com <= ou com <.

Sobre o 0: era entre 1 e 100 :wink:

Se o usuário poder mudar o numero que é usado para multiplo então o codigo não serve. A primeira opção tem que ser usada.
É que ai vc terá uma variável:

// N é o numero para quem queremos os multiplos
for(int i = 1; i <= 100; i++) {
   if(i % N = 0) {
      System.out.println(i);  //imprime o multiplo
   }
}

Outra opção

for(int i = 3; i < 100; i+=3) {
  System.out.println(i);  //imprime o multiplo
}

(0 é multiplo de 3 mas é menor que 1. 1 e 2 não são multiplos. 100 tb não é por isso não precisa do igual)
[/quote]

:arrow: Lembrando, a Matemática

O número zero é múltiplo de todo número natural e além disso, zero não divide qualquer número natural, exceto ele próprio.

Se aceitarmos que 3÷0=b, então teremos que admitir que:

3 = 0 x b

mas não existe um número b que multiplicado por 0 (zero) seja igual a 3, portanto a divisão de 3 por 0 é impossível.

A divisão de 0/0 (zero por zero) é indeterminada, o que significa que pode existir uma situação que ela passe a ter significado, no sentido seguinte:

Se aceitarmos que 0÷0=X, então poderemos escrever que:

0 ÷ 0 = X ÷ 1

Como temos uma igualdade de frações, gerando uma proporção, deveremos aceitar que o produto dos meios é igual ao produto dos extremos nesta proporção e assim:

0 × 1 = 0 × X = 0

que não é contraditório e isto pode ser realizado para todo X real, razão pela qual a expressão da forma 0÷0 é dita indeterminada.

[quote=derlitex]Bom dia !!
não sei se tem alguma função pra fazer isso, não consegui[/quote]

Java não tem funções. A função é característica das linguagens procedurais ou estruturadas (que são duas coisas diferentes). Em OO, o que temos são Objetos com seus respectivos métodos, sendo estes últimos bem diferentes de funções.
Aquele abraço!
San

[quote=sergiotaborda][quote=marcio_gs]
Achei seu código bom, porém colocaria o <= em vez do < pensando em futuras mudanças. Se o usuário muda de 3 para 2 ele já não lê o 100. Sem dizer que 102 é a ultima verificação dele com <= ou com <.
[/quote]

Se o usuário poder mudar o numero que é usado para multiplo então o codigo não serve. A primeira opção tem que ser usada.
É que ai vc terá uma variável:

// N é o numero para quem queremos os multiplos
for(int i = 1; i <= 100; i++) {
   if(i % N = 0) {
      System.out.println(i);  //imprime o multiplo
   }
}

[/quote]

Serve sim. Olhe bem o código que você propos antes:

for(int i = 3; i < 100; i+=3) { System.out.println(i); //imprime o multiplo }

se trocar por uma váriavel qualquer que receberia a entrada do usuário, pra ele funcionar era só fazer:

for(int i = xpto; i <= 100; i+=xpto) { System.out.println(i); //imprime o multiplo }

Sim, é verdade … :wink: :oops: