Exercicio de Fixação de Sintaxe

Estou praticando programação java e estou fazendo exercícios para fixar e decorar sintaxe (if, else, while, for, do…while).
Realizei os seguinte problemas:

  1. Imprima todos so números de 150 a 300?[b]
    public class Exercicio1 {

    /**

    • @param args
      */
      public static void main(String[] args) {
      // TODO Auto-generated method stub
      int numero = 150;
      while (numero <= 300){
      System.out.println(numero);
      numero = numero + 1;
      }
      }
      }
  2. Imprima a soma de 1 até 1000?[/b]
    public class Exercicio2 {

    /**

    • @param args
      */
      public static void main(String[] args) {
      // TODO Auto-generated method stub
      int i;
      for(i=1; i <= 1000; i++){
      System.out.println(i);
      }
      }

}
Nao estou conseguindo resolver os seguintes problemas
3)Imprima todos os múltiplos de 3, entre 1 e 100.

)Imprima os fatoriais de 1 a 10.
O fatorial de um número n é n * n-1 * n-2 … até n = 1. Lembre-se de utilizar os parênteses. O fatorial de 0 é
1 O fatorial de 1 é (0!) * 1 = 1 O fatorial de 2 é (1!) * 2 = 2 O fatorial de 3 é (2!) * 3 = 6 O fatorial de 4 é (3!) *
4 = 24
Faça um for que inicie uma variável n (número) como 1 e fatorial (resultado) como 1 e varia n de 1 até 10:
for (int n=1, fatorial=1; n <= 10; n++) {

Obrigado

3)Imprima todos os múltiplos de 3, entre 1 e 100.

Esse vc tera que usar o Mod, e verificar se o resto da divisao do contador por 3 é a, ai vc imprime

Para os Fatoriais veja: http://melhoragora.org/2007/03/24/calcular-fatorial-em-java

Falow e boa sorte

Jack, O Estripador disse… vamos por partes…

poderia usar um FOR

for(int numero=150; numero<=300; numero++){ System.out.println(numero); }

soma de 1 até 1000 ? isso quer dizer 1+2+3+4…+1000 ?
se for… poderia fazer

for(int i=1, soma=0; i<=1000; i++){ soma+=i; } System.out.println(soma);

3)um FOR tambem resolve… vai complicar um pouco para entender… mas vamos lah

for(int numero=1; numero<100; numero++){ // aqui eu deixo com vc... // vai ficar assim o Algoritmo.. // Se o resto de "numero" dividido por 3.. for 0... mostre o valor de "numero" }

4)fatorial de 1 a 10…
FOR tb resolve…
mas achei mais complicado explicar sem mostrar o exercicio pronto…
a logica eh a mesma =)

Olá galera…tmb sou muito novo no java comecei à 3 dias…e tava vendo esses exercicios ae…e vi que no Exercicio2 ele simplismente mostra os numeros de 1 à 1000 sendo que o exercicio pede a soma…então vi a reply do alucardeck

for(int i=1, soma=0; i<=1000; i++){ soma+=i; } System.out.println(soma);

Então joguei esse codigo mas dai deu erro…

Exercicio2.java :16: 'class' ou 'interface'  expected
}
   ^
Exercicio2.java :16: 'class' ou 'interface'  expected
}
   ^

Ae não sei se fiz algo errado =/

Eu resolvi esse exericio dessa forma, veja se esta correto, testei aqui e funcionou…

[code]
public class Exercicio2 {

/**

  • @param args
    */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    int i = 0;
    int soma = 0;
    while (i < 1000){
    i = i+1;
    soma = soma+i ;
    }
    {
    System.out.println(soma);
    }
    }

} [/code]

[quote=MAGNUS-CTBA]Eu resolvi esse exericio dessa forma, veja se esta correto, testei aqui e funcionou…

[code]
public class Exercicio2 {

/**

  • @param args
    */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    int i = 0;
    int soma = 0;
    while (i < 1000){
    i = i+1;
    soma = soma+i ;
    }
    {
    System.out.println(soma);
    }
    }

}[/code][/quote]

umas dicas…

  • evite usar { } sem necessidade… que estão entre o System.out.println(soma);
  • soma=soma+i é a mesma coisa que soma+=i então tente usar o mais “limpo” heheh

é feio usar While para algo q um FOR resolve heheh

public class Exercicio2 {

public static void main(String[] args) {
int soma = 0;
for(int i=1; i<=1000; i++){
    soma+=i;
}
System.out.println(soma);
} 
 for(int i=1; i<100; i++){
            if(i%3 == 0) //checa se o número é multiplo de 3
            System.out.println(i);
        }

[quote=RafaelViana]3)

 for(int i=1; i<100; i++){
            if(i%3 == 0) //checa se o número é multiplo de 3
            System.out.println(i);
        }

[/quote]

não resolva os exercicios pra ele…
se fosse por isso jah teria feito os 4…

ou vc vai ser apedrejado no forum…

Não entendi??

Você quis dizer que como é simples nao precisa de while?
Como eu disse to iniciando tmb então quero saber porque nao usar um while e usar um for?

na verdade quase tudo pode ser feito tanto com While quanto com For…

a diferença é q o FOR é muito mais legivel… e tem mais “funções”…

então se for pra vc fazer um
int x=0;
While(x<10){
x++;
}

é mais facil vc fazer
For(int x=0; x<10; x++){

}

assim vc foca as linhas dentro do { } direto com o conteudo q vc realmente vai “modificar”
e não suja 1 linha só para mostrar a incrementação… ,

não sei se expliquei bem… mas qqer duvida pode perguntar

Para o exercico "Encontrar os multiplos de 3 de 0 à 1000.

Além de fazer um for de 0 1000 e usar o mod, você tambem poderia fazer um for que percoresse de 3 em 3.
Faria menos iterações! rsrs

for(int i=0 i<=1000; i+=3){

...

}

Para resolver o exer. Fatorial a melhor solução é Recursividade.

Bons Estudos!
:wink:

Sempre que puder use for ao invés de While. Como Alucardeck disse - é mais elegante, inteligente, e possue recursos a mais.

Quando tiver mais duvidas sobre isso, poste aqui nesse topico que agente te ajuda.

E ah, procura resolver exercicios mais complexos, como exercicios de matemática mesmo (equação do 2 grau, etc) com isso.