Exercício Fatorial

[color=red]Bom dia, alguém pode me ajudar a fazer esse exercício?[/color]

[color=red]Imprima os fatoriais
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
[/color]

O que você já tem feito?

A solução recursiva é mais facil .

public int fatorial(int n) {
if ( n == 0 || n == 1)
return 1;
else
return n*fatorial(n-1);

}

Agora pensa ai como e a iterativa , e n cria forum pros outros fazerem teu trabalho de casa >=P
Acho qué isso, n testei!

Segue uma solução mais pobre…

public class Fatorial {
    public static void main(String[] args) {
        int a = 1, b = 1;

        System.out.print(a + " " + b + " ");

        while(a != 0){
            a += b;
            b += a;

            System.out.print(a + " " + b + " ");
            
            if (a > 100) {
                break;
            }
        }
    }
}

Obrigado!

Afff vcs tem que deixar o cara pensar ,
o cara chega pede e vcs ja fazem
tenho certeza que ele so vai copiar e colar ,
ou seja nem vai atentar para saber como
a solução foi feita .

[color=red]Gente, me desculpem. Eu tentei fazer, só que eu estava atrasada para ir embora e acabei esquecendo de colocar o meu exercicio feito e o erro que está mostrando. Então, ai esta ela:
Esse foi o que eu tentei fazer:[/color]

public class Farorial{ public static void main(String[] args){ int i, j, fat = 1; for (i = 1; i<=j;i++); System.out.println("Digite um numero:" + j); if (j <=1) return 1 else return fat = j*fat(j-1); System.out.println("O fatorial deste numero e: " +fat) } }

[color=red]E o erro que está dando é esse:[/color]

[code]C:\Samanta\exercicio java3.02\Fatorial.java:7: ‘;’ expected
else
^
C:\Samanta\exercicio java3.02\Fatorial.java:10: ‘;’ expected
}
^
2 errors

Ferramenta concluída com código de saída 1[/code]

[color=red]Não estou consegundo entender esse erro.
Agora voces podem me ajudar sem brigar comigo? :oops:
Agradeço,gente.
E desculpe ai, de coração. Vou tomar mais cuidado da próxima vez[/color]

System.out.println("O fatorial deste numero e: " +fat) 

tá faltando o “;”
o correto seria assim ó:

System.out.println("O fatorial deste numero e: " +fat); 

public class Farorial{ public static void main(String[] args){ int i, j, fat = 1; for (i = 1; i<=j;i++); System.out.println("Digite um numero:" + j); if (j <=1){ return 1; }else{ return fat = j*fat(j-1); System.out.println("O fatorial deste numero e: " +fat);// <---- ; }}}

Estão faltando 2 “;”!!!

Um é no seu “if” e o outro no “System.out…”

[quote=edmarr]Afff vcs tem que deixar o cara pensar ,
o cara chega pede e vcs ja fazem
tenho certeza que ele so vai copiar e colar ,
ou seja nem vai atentar para saber como
a solução foi feita .[/quote]
:wink: Justo!

[quote=leo.junior]Estão faltando 2 “;”!!!

Um é no seu “if” e o outro no “System.out…”[/quote]
nem reparei no outro hauhauh

depois dessa vo criar um usuario com nome de mulher e pegar uma foto qualquer no google para sempre que precisar de alguma coisa no forum… :x

caramba passam assim exercicio de mão bejada desse jeito…por isso que sempre tem uns folgados vindo pedir para resolvermos os exercicios da faculdade deles…sempre tem quem faça mesmo…

[quote=maior_abandonado]depois dessa vo criar um usuario com nome de mulher e pegar uma foto qualquer no google para sempre que precisar de alguma coisa no forum… :x

caramba passam assim exercicio de mão bejada desse jeito…por isso que sempre tem uns folgados vindo pedir para resolvermos os exercicios da faculdade deles…sempre tem quem faça mesmo…[/quote]
\o/

Realmente estava faltando mesmo…rsrs…Mas agora o erro é outro. Está dizendo que não pode retornar um valor em que o resultado for “vazio”…
está assim:

public class Fatorial{ public static void main(String[] args){ int i, j, fat = 1; for (i = 1; i<=j;i++); System.out.println("Digite um numero:" + j); if (j <=1) return 1; else return fat = j*fat(j-1); System.out.println("O fatorial deste numero e: " +fat); } }

e o erro é esse:

[code]C:\Samanta\exercicio java3.02\Fatorial.java:6: cannot return a value from method whose result type is void
if (j <=1) return 1;
^
C:\Samanta\exercicio java3.02\Fatorial.java:8: cannot return a value from method whose result type is void
return fat = j*fat(j-1);
^
2 errors

Ferramenta concluída com código de saída 1[/code]

[color=red]Nossa…esse negocio de java deixa qualquer iniciante de cabelos em pé!!rs[/color] :shock:

2
Ajudei em um outro tópico e ainda assim fui chamado de orgulhoso porque não fiz o loop, deixei comentado como teria que ser feito.

Cruzes,gente…
Vcs estão ai me esculaxando a toa. Primeiramente, eu sou mulher sim,e com muito orgulho…
E outra, eu estou tentando aprender java sozinha, sem a ajuda de ninguem. Nunca tinha aprendido isso na vida, estou vendo agora. Não tem pq vcs ficarem falando comigo desse jeito. Se um ou outro não quiser me ajudar, ao inves de falar besteira, deixe que outra pessoa me ajude.
Acho que esse forum esta ai p isso, para ajudar. Sempre que vou pedir ajuda, eu tento fazer os programas antes. Dessa vez eu esqueci de colocar, mas logo depois eu coloquei e da para ver que esta diferente do que o que o rapaz me mandou.
Isso não é para todos, agradeço a todos que estão tentando me ajudar, mas não é justo comigo uns e outros ficarem falando besteira se não estão perto de mim para ver meu esforço.

vc deve criar um metodo retornando um int ,
dai entao vc podera usar a palavra reservada return;

Na verdade o erro é que vc não pode ter um “return” em um método void!!!

[quote=samanta.santos]Cruzes,gente…
Vcs estão ai me esculaxando a toa. Primeiramente, eu sou mulher sim,e com muito orgulho…
E outra, eu estou tentando aprender java sozinha, sem a ajuda de ninguem. Nunca tinha aprendido isso na vida, estou vendo agora. Não tem pq vcs ficarem falando comigo desse jeito. Se um ou outro não quiser me ajudar, ao inves de falar besteira, deixe que outra pessoa me ajude.
Acho que esse forum esta ai p isso, para ajudar. Sempre que vou pedir ajuda, eu tento fazer os programas antes. Dessa vez eu esqueci de colocar, mas logo depois eu coloquei e da para ver que esta diferente do que o que o rapaz me mandou.
Isso não é para todos, agradeço a todos que estão tentando me ajudar, mas não é justo comigo uns e outros ficarem falando besteira se não estão perto de mim para ver meu esforço.
[/quote]

o problema não é você pedir ajuda, o problema é quando as pessoas querem código pronto e funcionando, ai ja é ser folgado, eu ajudo algumas pessoas aqui quando posso, mas costumo o fazer com pessoas que tentam fazer sozinhos antes de pedir ajuda, perguntam como fazer ou onde estão errados, e não querem código pronto… por causa de gente assim (não to dizendo que você seja nem que não seja) que sou contra passar codigo pronto…

a ironia com o fato de você ser mulher é por que quando quem pergunta é mulher normalmente as respostas vem muito mais rapidas, codigo pronto e testado… quando quem pergunta é homem ai a história é outra…

só para constar… você pediu ajuda, não pediu para resolverem para você como foi feito, por outro lado também não disse onde estavam suas dificuldades, não pediu nenhuma explicação.

[quote=caraujocruz][quote]
depois dessa vo criar um usuario com nome de mulher e pegar uma foto qualquer no google para sempre que precisar de alguma coisa no forum…

caramba passam assim exercicio de mão bejada desse jeito…por isso que sempre tem uns folgados vindo pedir para resolvermos os exercicios da faculdade deles…sempre tem quem faça mesmo…
[/quote]

2
Ajudei em um outro tópico e ainda assim fui chamado de orgulhoso porque não fiz o loop, deixei comentado como teria que ser feito.
[/quote]

se for um outro tópico que acho que vi aquele la não conta…rs aquela figura la é unica…hehe

=(
É verdade , não é legal ficar dando a resposta como dei , peço desculpas - entregar de mão beijada não dá.
Pois bem , vc realmente é bem iniciante em JAVA e em PROGRAMAÇÂO .
Se fosse vc eu procuraria estudar um pouquinho mais antes de tentar fazer alguma coisa por mais simples que o problema possa parecer vc cometeu um monte de erros , todos bestas - na minha opinião , principalmente pela falta de experiencia.
Um otimo livro que aconselho é o Use a Cabeça Java .
Se fosse pra apostar diria que vc ta usando o Java Como Programar , se isso for verdade saiba que esse é um livro bem completo , mas é usado principalmente pra consulta - eu nunca conheci alguem que aprendeu Java lendo aquele livro todo .
Bem , desculpe se está me achando grosso não foi essa minha intenção.
Existem muitos foruns , no GUJ mesmo que indicam bons livros pros iniciantes , dá uma olhada.
=P
Bem é isso .