 //FibonacciShort.java     Calcula los numeros de la serie de fibonacci con entradas short 
//  produce overflow en n=  24
//Guillermo Escobar P

   import java.awt.*;
   import java.applet.Applet;


   public class FibonacciShort extends Applet{
   
      Label numLabel, resultLabel,aclaracion;
      TextField num ,result;
   
   
   
      public void init()
      
  {   numLabel = new Label("Teclee unShort  y pulse return");
         num = new TextField(10);
         resultLabel = new Label("El valor de fibonacci es ");
         aclaracion= new Label("Overflow en n=24");
         result  = new TextField(15);
         result.setEditable(false);
         add(numLabel);
         add(num);
         add(resultLabel);
         add(result);
         add(aclaracion);
      }
   
   
      public boolean action(Event e,Object o)
      
      { short number ,fibonacciVal;
      
         number = Short.parseShort(num.getText());
         showStatus("Calculando");
         fibonacciVal = fibonacci(number); 
         showStatus("Listo");
         result.setText(Short.toString(fibonacciVal));
         return true;
      
      }
   
      short fibonacci(short n)
      
      {   
         short i=1;
         short j=0; 
        
         if (n == 0 ||n == 1)  //caso base
            return n;
         else
            for(int k =1;k<=n;k++) 
            { 
               j=(short)(i+j); 
               i=(short)(j-i); 
                
            } // fin for
         return j; 	
      }//fin fibonacci
   
   }
