Antes de nada agradecer una vez mas su ayuda ya que me están ayudando muchisimo y estoy aprendiendo mucho de todos vosotros.
Estoy intentando hacer un problema para que me devuelva el factorial de un numero pero me devuelve mas de lo que quiero, me gustaria que me devolviera el factorial del numero 5 pero me devuelve 600 cuando 5*4*3*2*1 da como resultado 120.
Este es el código aver si me pueden decir a que se debe.
public class factorial {
/**
* EN ESTE EJERICIO VAMOS A TRABAJAR EL FUNCIONAMIENTO DE LOS METODOS
* VAMOS A OBTENER EL FACTORIAL DE UN NUMERO
*/
//definimos el metodo
public double producto (int n) { //LE PASAMOS UN ENTERO COMO ARGUMENTO
double resultado;//VARIABLE PARA GUARDAR EL RESULTADO
for (resultado=n; n>1;n--)resultado *=n; //EL RESULTADO LE ASIGNAMOS EL NUMERO,MIENTRAS SEA MAYOR QUE UNO QUE RESTE 1 Y LO MULTIPLIQUE POR EL NUMERO
return resultado; //INSTRUCCION PARA QUE EL METODO NOS DEVUELVA EL RESULTADO
}
public static void main(String[] args) { //comienza el programa
//CREAMOS EL OBJETO
factorial factorial1 = new factorial();
double x=factorial1.producto(5); //llamamos al metodo
System.out.println(factorial1.producto(5));
}
}