como puedo hacer este program en java?
Leer una secuencia de 20 números y almacenar en un vector sus factoriales
como podría sacar el factorial y mostrarlo es la parte que no entiendo por favor ayudaaaaaaaaaaaaaaaaa
si me pueden colaborar se los agradeceria
saludos
Comments
Bueno veamos como queda el código:
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
import java.io.*;
class FactorialVector {
public static void main(String args[])
{
final short MAX = 20;
int c=0; //contador;
double numeros[] = new double[MAX]; //numeros guardados
int numeroLeido=0; //numero leido del teclado
BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));
for (c=0;c<MAX;c++)
{
System.out.printf("("+(c+1) +"/" +MAX+")Ingrese un numero: ");
try { numeroLeido = Integer.parseInt(entrada.readLine()); //leemos y tranformamos a entero
}catch(Exception e) { System.err.println(e); }
numeros[c]=factorial(numeroLeido); //guardamos el factorial del numero leido
}
System.out.printf("Contenido del vector: ");
for (c=0;c<MAX;c++) //mostramos el vector
{
System.out.printf(numeros[c] +"");
if (c<MAX-1) System.out.printf(" ");
}
}
static double factorial(int numero) //devuelve el factorial de un numero
{
if (numero<=1) return 1;
return numero*factorial(numero-1);
}
}
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Podría haber una que otra optimización, pero eso lo vez tu pues a mi me falta experimentar más con el lenguaje ya que recién lo estoy aprendiendo.