import java.math.*; public class FibonacciTest { private static myStack SysStack=new myStack(); public static BigInteger fibonacci(int n) { System.out.println(); System.out.println("fibonacci("+n+") has been called..."); SysStack.push(n); if((n == 0) || (n == 1)) { System.out.println(); System.out.println("fibonacci("+n+") returning value..."); int garbage=SysStack.pop(); return new BigInteger ("1"); } else { BigInteger number1 = fibonacci(n-1); BigInteger number2 = fibonacci(n-2); System.out.println(); System.out.println("fibonacci("+n+") returning value..."); int moregrabage=SysStack.pop(); return number1.add(number2); } } public static void main(String[] args) { if(args.length == 0) { System.out.println("Usage: java Fibonacci "); return; } int number = Integer.parseInt (args [0]); if (number<0) { System.out.println ("Incorrect number entered."); return; } BigInteger num = fibonacci (number); } // end of main } // end of class