//FibonacciDouble.java     Calcula los numeros de la serie de fibonacci con entradas Double en forma recursiva
//  produce overflow en n= 
//Guillermo Escobar P

   import java.awt.*;
   import java.applet.Applet;


   public class FibonacciDouble extends Applet{
   
      Label numLabel, resultLabel, aclaracion;
      TextField num ,result;
   
   
   
      public void init()
      
		{   numLabel = new Label("Teclee un numero y pulse return");
         num = new TextField(10);
         resultLabel = new Label("El valor de fibonacci con Double es ");
         aclaracion= new Label("Overflow en n= ");
         result  = new TextField(15);
         result.setEditable(false);
         add(numLabel);
         add(num);
         add(resultLabel);
         add(result);
         add(aclaracion);
      }
   
   
      public boolean action(Event e,Object o)
      
		{ double number ,  fibonacciVal;
      
         number = Double.parseDouble(num.getText());
         showStatus("Calculando");
         fibonacciVal = fibonacci(number); 
         showStatus("Listo");
         result.setText(Double.toString(fibonacciVal));
         return true;
      
      }
   
   
   //definicion recursiva del metodo de fibonacci
   
   
   
    double fibonacci(double n)
      
      {   
         if (n == 0 ||n == 1)  //caso base
            return n;
         else
            return fibonacci(n-1)+ fibonacci(n-2);
      }
   }



