Exercicio de Fixação de Sintaxe

10 respostas
M

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

10 Respostas

robinsonbsilva

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

alucardeck

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 =)

M

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...

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);
              }
      }

}
alucardeck
MAGNUS-CTBA:
Eu resolvi esse exericio dessa forma, veja se esta correto, testei aqui e funcionou...
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);
              }
      }

}

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);
}
R
for(int i=1; i<100; i++){
            if(i%3 == 0) //checa se o número é multiplo de 3
            System.out.println(i);
        }
alucardeck

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);
        }

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

ou vc vai ser apedrejado no forum…

M

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?

alucardeck

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

S

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:

P

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.

Criado 16 de julho de 2008
Ultima resposta 17 de jul. de 2008
Respostas 10
Participantes 7