Programación en java

Por que en este código
class Factorial
{
public static int factorial(int n)
{
int ans=1;
while (n>1)
{
ans=ans*n;
n=n-1;
}
return ans;
}
public static void main(String[] args)
{
int n=0;
while (n<13)
{
System.out.print(n+ "!= ");
System.out.println(factorial(n));
n=n+1;
}
}
}
si compila pero no se ejecuta el programa me sale el siguiente mensaje:
"Exception in thread "main" java.lang.CoclassDefFoundError: factor"
no se si sea esto: que se tenga que declarar public static int factorial(int n) en la parte de abajo del codigo pero no recuerdo como se hace. Si no es eso también me podrían decir como se hace eso, no recuerdo bien pero creo que en un código de java se tienen que declarar o algo así en la parte inferior, no recuerdo bien eso la verdad pero si no lo saben OK lo que más necesito es saber porque no corre el programa.
Gracias

1 Respuesta

Respuesta
1
Prueba así:
class Factorial {
public Factorial(){}
public static int factorial(int n)
{
int ans=1;
while (n>1)
{
ans=ans*n;
n=n-1;
}
return ans;
}
public static void main(String[] args)
{
int n=0;
while (n<13)
{
System.out.print(n+ "!= ");
Factorial Fac=new Factorial();
System.out.println(Fac.factorial(n));
n=n+1;
}
}
}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas