/* * Intro to Programming CSE 1310 * University of Texas at Arlington */ package code16april19; import java.util.Scanner; /** * * @author jcmtiernan */ public class Code16April19 { /** * @param args the command line arguments */ public static void main(String[] args) { // Practicing recursion Scanner input = new Scanner(System.in); int n; /* System.out.println("Please enter a positive integer for factorial: "); int n = input.nextInt(); int factOfN = factorial(n); System.out.println("Output factorial is "+factOfN+" (zero result means invalid input)"); */ System.out.println("Please enter a positive integer for the Fibonacci place you would like to calculate: "); n = input.nextInt(); int fiboOfN = fibonacci(n); System.out.println("Fibonacci value at place "+n+" is "+fiboOfN); } public static int fibonacci(int n) { System.out.println("In fib with n = "+n); if (n < 0) // error check { return -1; } if ((n == 0) || (n == 1)) return n; return fibonacci(n - 1) + fibonacci(n - 2); } public static int factorial(int n) { System.out.println("In factorial with n = "+n); if (n < 0) // error check { return 0; } if (n == 0) // base case { return 1; } return n * factorial(n-1); } }