No puedes tener dos clases que tengan un método main en el mismo proyecto.
En la clase Factorial deberías cambiar el método main por otro nombre.
Código Java:
Ver originalimport java.io.*;
public class Factorial
{
public static void calcular()
{
System.
out.
print("Introduce numero que deseas saber el factorial: "); int num
= Integer.
parseInt(br.
readLine()); int i;
long r = 1;
for(i = 1; i <= num; i++)
{
r = r * i;
}
System.
out.
println("El factorial del numero es: " + r
); }
}
Código Java:
Ver originalimport java.lang.*;
import java.io.*;
import java.util.*;
public class MenuPrincipal {
{
casos();
}
{
System.
out.
println("----------BIENVENIDOS A MI PROYECTO----------"); System.
out.
println("-------------------"); System.
out.
println("Recursividad"); System.
out.
println("1.-Recursividad"); System.
out.
println("2.-Factorial"); System.
out.
println("-------------------"); System.
out.
println("Metodos de ordenamiento"); System.
out.
println("3.-Burbuja"); System.
out.
println("4.-Merge Sort"); System.
out.
println("5.-Quick Sort"); System.
out.
println("6.-Seleccion"); System.
out.
println("-------------------"); System.
out.
println("Estructura de datos"); System.
out.
println("7.-Lista"); System.
out.
println("8.-Pilas"); System.
out.
println("9.-Colas"); System.
out.
println("10.-Arbol"); System.
out.
println("11.-Salir");
int opc;
System.
out.
println("Elija una opcion: "); opc
=Integer.
parseInt(in.
readLine());
switch(opc){
case 2:
Factorial.calcular();
break;
}
}
}
Así funcionará, pero deberías pensarte un poco mejor la organización, porque no es la mejor manera utilizar una clase sólo para calcular el factorial.
Saludos.