Pessoal estou iniciandoe quero saber como faço para escrever um programa em Java que crie um array de valores de ponto flutuante de 25 posições, calcule o fatorial de cada uma destas posições e guarde o valor do fatorial no elemento correspondente do array. Ao final do cálculo, a posição 0 do array deve conter 0, a posição 1 deve conter 1, a posição 2 deve conter 2, a posição 3 deve conter 6, a posição 4 deve conter 24 (4!), etc.
Consigo fazer boa parte mais não o que acontece quando chega na parte lógica do codigo da erro ou na resulta o que realmente quero.
Será possivel colocar o seu código aí ? Ou pelo menos a parte onde da o erro, e a(s) dúvida(s) relaccionadas para podermos entender ? Pois, sem ele, teriamos de criar o código de início, e acho que não é essa a ideia, mas sim que em conjunto, façamos e entendamos o processo de criação desse algoritmo. :thumbup:
Até já
“Dá erro” quer dizer o quê?
a) Aparece um erro “ArrayOutOfBoundsException” ou coisa parecida.
b) O valor para todas as posições é zero.
c) O valor de 24! é diferente de 620448401733239439360000 ( 6.2044840E23 )
Pessoal ta ai meu codigo, accho que o erro está na lógica pois quando inicio meu i = 1 le da certo mais se colocar 0 da erro;
class exe12{
public static void main(String args[]){
float vet[] = new float[25];
int i, fat = 1,cont = 0;
try{
for (i=0;i<25;i++){
fat=fat*i;
vet[i] = fat;
System.out.println(""+i+" - "+vet[i]);
}
}catch(Exception erro){
System.out.println("Erro na entrada de dados");
}
}
}
Um loop com mais ou menos essa lógica. Acho que tem erro na lógica que tu ta usando.
if (numero == 0) resultado++;
while (numero > 1) resultado *= --numero;
Tu pode usar recursividade também. 
[quote=jeffersonarar]Pessoal ta ai meu codigo, accho que o erro está na lógica pois quando inicio meu i = 1 le da certo mais se colocar 0 da erro;
class exe12{
public static void main(String args[]){
float vet[] = new float[25];
int i, fat = 1,cont = 0;
try{
for (i=0;i<25;i++){
fat=fat*i;
vet[i] = fat;
System.out.println(""+i+" - "+vet[i]);
}
}catch(Exception erro){
System.out.println("Erro na entrada de dados");
}
}
}[/quote]
Algumas coisas a serem consideradas:
Ponha seu código entre as tags code e /code.
Use um título mais sugestivo nos seus tópicos como “Problemas no uso de Array” ou coisa do tipo.
Evite catch em Exception.
A variável cont nunca é usada.
Se você planeja percorrer um array use o length dele na condição do for.
Como i = 0 na primeira iteração o seu fat sempre vai valer 0. Quando i = 0, fat = 1. 1 * 0 = 0. Quando i = 1, fat = 0. 0 * 1 = 0 e assim vai.
E como entanglement disse, o que você quer dizer com erro?
Consegui aq Obrigado pela ajuda.