import javax.swing.JOptionPane;

class recursivo
{
	static	int contar(int cuenta)
	{
	  if (cuenta<10)
	  {
	  	cuenta++;
	  	System.out.println(""+cuenta);
	  	cuenta=contar(cuenta);
	  }
	  
	  return cuenta;
	}
	
		static int restar(int r)
	{
		if (r>0)
		{
		r--;
		System.out.println(""+r);
		r=restar(r);
		}
		return r;
	}
	static int factorial(int num, int fact)
	{
		if(num>=1)
		{
			fact=fact*(num);
			num--;
			System.out.println(""+fact);
			fact=factorial(num,fact);
		}
		return(num);
	}
	static void ciclo(int n, int f, int i)
	{
		int elige= Integer.parseInt( JOptionPane.showInputDialog(null, "Escribe el numero de tu eleccion:\n1.- contar de 0 a 10\n2.- restar de 10 a 1\n3.-factorial\n5.-salir"));
		switch(elige)
		{
			case 1:
				i=contar(i);
				ciclo(n,f,i);
			break;
			
			case 2:
				i=restar(i);
				ciclo(n,f,i);
			break;
			
			case 3:
				i=factorial(n,f);
				ciclo(n,f,i);
			break;
			
			case 4:
				ciclo(n,f,i);
			break;
			
			case 5:
				System.exit(0);
			break;
		}
		
	}
	public static void main (String a[])
	{
		int	n=10,f=1, i=10;
		ciclo(n,f,i);
	}
	
}
