/** * Title: Chapter 4, "Methods" * Description: Examples for Chapter 4 * Copyright: Copyright (c) 2000 * Company: Armstrong Atlantic State University * @author Y. Daniel Liang * @version 1.0 */ // ComputeFibonacci.java: Find a Fibonacci number for a given index // package chapter4; public class ComputeFibonacci { /**Main method*/ public static void main(String args[]) { // Read the index System.out.println("Enter an index for the Fibonacci number"); int n = MyInput.readInt(); // Find and display the Fibonacci number System.out.println("Fibonacci number at index " + n + " is "+fib(n)); } /**The method for finding the Fibonacci number*/ public static long fib(long n) { if ((n==0)||(n==1)) // Stopping condition return 1; else // Reduction and recursive calls return fib(n-1) + fib(n-2); } } // a class for reading various types from the keyboard (System.in) class MyInput { public static String readString() { String string = ""; java.io.BufferedReader bufferedReader = new java.io.BufferedReader(new java.io.InputStreamReader(System.in)); try { string = bufferedReader.readLine(); } catch (java.io.IOException ex) { throw new RuntimeException(ex); } return string; } public static int readInt() { return Integer.parseInt(readString()); } public static double readDouble() { return Double.parseDouble(readString()); } // test all the methods of this class public static void main(String[] args) { System.out.println("Testing 'readString()'"); System.out.print("Input your string : "); System.out.println("Your string was '" + readString() + "'"); System.out.println("\nTesting 'readInt()'"); System.out.print("Input your int : "); System.out.println("Your int was '" + readInt() + "'"); System.out.println("\nTesting 'readDouble()'"); System.out.print("Input your double : "); System.out.println("Your double was '" + readDouble() + "'"); } }