Imprimir todos os números múltiplos de 3 entre 1 e 100

20 respostas
Douglas_Lourencini

Olá pessoal, tudo bem?

Estou enviando minha humilde colaboração, aos que assim como eu, estão iniciando nesse fantástico mundo da programação em java.

É apenas um exercício da apostila Caelum fj11, que pede para criar um programa que imprima todos os números múltiplos de 3 entre 1 e 100.

//Este exercício faz parte da lista de exercícios da apostila Caelum FJ11
//O objetivo é imprimir todos os múltiplos de três entre 1 e 100.

public class MultiploDeTres {
	
	public static void main(String[]args){
		
		for(int i=1 ; i<=100 ; i++){
			if(i % 3 ==0){
				System.out.println(i);
			}
		}
	}
}
Espero que seja útil.

Abraços...

20 Respostas

tveronezi

Eu tenho uma outra solução. :O)

import java.util.ArrayList;
import java.util.List;

public class TestMe {
    public static void main(String[] args) {

        List<Integer> numbers = new ArrayList<Integer>();
        int result = 0;
        int i = 1;
        while (true) {
            result = i++ * 3;
            if (result > 100) {
                break;
            }
            numbers.add(result);
        }

        System.out.println(numbers);
    }
}

ou

import java.util.ArrayList;
import java.util.List;

public class TestMe {
    public static void main(String[] args) {

        List<Integer> numbers = new ArrayList<Integer>();
        int result = 0;
        int i = 1;
        do {
            result = i++ * 3;
            numbers.add(result);
           // a gente tira um "if" da equaçao
        } while (result < 100);
        numbers.remove(numbers.size() -1);

        System.out.println(numbers);
    }
}

[]s,
Thiago

Douglas_Lourencini

E aí Tiago, beleza?

Então cara, eu descrevi um código bastante simples, para os iniciantes como eu, que ainda não conhecem as bibliotecas do java.
Acho que quanto menos linhas de códigos utilizarmos, mais fácil é o entendimento para quem está iniciando, não acha?
Continue nos ajudando, valeu?

Abraços.

d34d_d3v1l

Douglas Lourencini:
E aí Tiago, beleza?

Então cara, eu descrevi um código bastante simples, para os iniciantes como eu, que ainda não conhecem as bibliotecas do java.
Acho que quanto menos linhas de códigos utilizarmos, mais fácil é o entendimento para quem está iniciando, não acha?
Continue nos ajudando, valeu?

Abraços.

Uma dica, comentários para mais de uma linha use:

/*
Comentário...
que ocupa mais de uma linha
*/
public class Test{
}
pmlm

Simplesmente

public static void main(String[]args){  
          
        for(int i=3 ; i<=100 ; i = i + 3){  
                System.out.println(i);  
        }  
    }
samuk1

Boa… CAda vez menor o Codigo! Daqui a pouco conseguem fazer isso em uma linha e sem Estrutura de repetição! kkkkkkkkkkkk

Parabéns :slight_smile:

tveronezi

int i=3 ; i<=100 ; i = i + 3

Essa úiltima foi linda. :O)

tveronezi

Agora com recursão…

public class TestMe {

    private static void printMultiplos3(int number) {
        if (number < 100) {
            System.out.println(number);
            printMultiplos3(number + 3);
        }
    }

    public static void main(String[] args) {
        printMultiplos3(3);
    }
}
marcos.after

Vou deixar minha contribuição aqui, embora o tópico já esteja saturado de códigos diferentes que realizam a mesma função xD

//exemplo 01
public class Printer{

	public static void main(String[] args){
	
		for (int i=3; i < 100;){
			System.out.println(i);
			i = i + 3;
		}
	}
}


//Exemplo 02

public class Printer2{

	public static void main(String[] args){
	
		for (int i=3; i < 100; i+= 3){
			System.out.println(i);
		}
	}
}

//Exemplo 03

public class Printer3{

	public static void main(String[] args){
	
		for (int i=3; i < 100; i = i + 3){
			System.out.println(i);
		}
	}
}

Enfim, três formas diferentes de se realizar o exercício. Embora o que mudou na verdade foram algumas sintaxes. Boa sorte futuros programadores de Java :smiley:

augustovieira

Depois de muito tempo tentando, e para quem acha que o código não pode ser resolvido em apenas uma única linda: está aí minha solução:

public static void main(String[]args){  for(int i=3 ; i<=100 ; i = i + 3){ System.out.println(i); } }
Rodrigo_Sasaki

augustovieira:
Depois de muito tempo tentando, e para quem acha que o código não pode ser resolvido em apenas uma única linda: está aí minha solução:

public static void main(String[]args){ for(int i=3 ; i<=100 ; i = i + 3){ System.out.println(i); } }


Eu acho que quando falam de um código de uma linha só, não é isso que querem dizer :slight_smile:

augustovieira

Rodrigo Sasaki:
augustovieira:
Depois de muito tempo tentando, e para quem acha que o código não pode ser resolvido em apenas uma única linda: está aí minha solução:

public static void main(String[]args){ for(int i=3 ; i<=100 ; i = i + 3){ System.out.println(i); } }


Eu acho que quando falam de um código de uma linha só, não é isso que querem dizer :)

Hahahahaha foi uma brincadeira cara. Não existe por enquanto como resolver a questão em si em uma linha só.

von.juliano

Minha solução não é em Java, é em Scala, resolvi postar para dispertar a curiosidade/ interesse:

1 to 100 filter(_ % 3 == 0) foreach printlnIsso imprime todos os múltiplos de 3, com uma linha só! :smiley:

Rodrigo_Sasaki

[quote=von.juliano]Minha solução não é em Java, é em Scala, resolvi postar para dispertar a curiosidade/ interesse:

1 to 100 filter(_ % 3 == 0) foreach println

Ah sim, a solução em Scala eu concordo que é em uma linha só :slight_smile:

Scala realmente é muito legal, e esse exemplo aí é só o começo :slight_smile:

sergiotaborda

samuk:
Boa… CAda vez menor o Codigo! Daqui a pouco conseguem fazer isso em uma linha e sem Estrutura de repetição! kkkkkkkkkkkk

Parabéns :slight_smile:

Sem estrutrua de repetição

Predicate<Integer> filtro = new Predicate<Integer>() {
        
 public boolean apply(Integer n){
        return n % 3 == 0;
 }

}

Block<Integer> printer= new Block<Integer>() {
        
 public voidapply(Integer n){
      System.out.println(n);
 }

}

Range.from(3).upTo(300).filter ( filtro ).each( printer);

:smiley: :smiley: :smiley:

No java 8 poderá usar lambdas e fica assim:

Range.from(3).upTo(300).filter ( n -> n % 3 == 0).each( n -> {System.out.println(n)});

Poderia não usar o filter assim

Range.from(3).by(3).upTo(300).each( n -> {System.out.println(n)});

Sem estrutruas de decisão nem repetição :slight_smile:
… e no java 8, uma linha só

As classes uadas aqui são do projeto MiddleHeaven, mas é possivel usar classes de outros projetos. Suponho que o Guava tem algo assim ,e o Apache Collections tb deve ter.

G

Bom dia amigos, meu primeiro post aki no fórum, eu estou iniciando neste mundo agora, apesar de já trabalhar na área da informática a muito tempo. Fiz o meu código da seguinte maneira, gostaria compilou e imprimiu tudo certo, mas gostaria de saber se usando em algum programa vai ocorrer algum problema devido eu ter feito assim.

for (int i =0; i <=100; i++){
	System.out.println ("multiplos de 3:  " + i); 
	 i = i + 3; 
	 i--;
	}
israel_ruas

vcs postaram diversas maneiras de resolver um problema, a pergunta é: Qual deles é o mais rápido?

F

Tive alguns problemas. Eu consertei isso.

Thiago_TJ

Boa noite, sou super novato.
Caí em uma turma começando em Análise de sistemas to dando html " sei quase nada " e hoje começou JavaScript professor passou exercicio pra entregar amanha nao sei fazer podem me ajudar? Segue abaixo. Percorra todos os números de 1 até 100. Para os números múltiplos de 4, exiba a palavra “PI”, e para os outros, exiba o próprio número.

Ana_Carla
/*Imprima todos os múltiplos de 3, entre 1 e 100*/

Ao meu entender a melhor forma de seria esta, bem simples para um iniciante entender, ele testa todos os números entre 1 e 100.

package JavaBase;

public class exerciseFive {
public static void main(String[] args){

for(int i = 1; i < 100; i++){  //enquanto for menor de 100 ele entra no laço
        if (i % 3 == 0) { // verifica se é múltiplo de 3 
            System.out.println(i); // printa todos o numero
        }
    }

}

}

J

Olá
Muito obrigada pela contribuição!
Realmente ajuda muito quem está começando como eu, acredito que daqui pouco tempo já conseguirei desenvolver um código com mais linhas.

Criado 26 de agosto de 2012
Ultima resposta 21 de jan. de 2023
Respostas 20
Participantes 16