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á
E
entanglement
“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 )
J
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{
publicstaticvoidmain(Stringargs[]){floatvet[]=newfloat[25];inti,fat=1,cont=0;try{for(i=0;i<25;i++){fat=fat*i;vet[i]=fat;System.out.println(""+i+" - "+vet[i]);}}catch(Exceptionerro){System.out.println("Erro na entrada de dados");}}
}
mr.garcialuigi
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;
mr.garcialuigi
Tu pode usar recursividade também.
S
Sem_Nome
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{
publicstaticvoidmain(Stringargs[]){floatvet[]=newfloat[25];inti,fat=1,cont=0;try{for(i=0;i<25;i++){fat=fat*i;vet[i]=fat;System.out.println(""+i+" - "+vet[i]);}}catch(Exceptionerro){System.out.println("Erro na entrada de dados");}}
}
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?
J
jeffersonarar
Consegui aq Obrigado pela ajuda.
mi.rodrigues
jeffersonarar, sugiro fortemente que você leia estes tópicos antes de postar qualquer coisa no GUJ.