import java.text.NumberFormat; import java.util.Scanner; /** A simple driver that uses the Seq class to compute the nth element of the sequence. @author Isaac Shoebottom (3429069) */ public class TestSeq{ public static void main(String[] args){ int n, seqRec, seqMem, seqIter; Scanner scan = new Scanner(System.in); System.out.print("Enter a positive integer: "); n = scan.nextInt(); seqRec = Seq.seqR(n); seqMem = Seq.seqM(n); seqIter = Seq.seqI(n); System.out.println("seqR(" + n + ") is: " + seqRec); System.out.println("seqM(" + n + ") is: " + seqMem); System.out.println("seqI(" + n + ") is: " + seqIter); NumberFormat form = NumberFormat.getInstance(); form.setMaximumFractionDigits(7); form.setMinimumFractionDigits(7); System.out.println(); System.out.println("Execution Times in Milliseconds (ms)"); System.out.println("Seq(n) \tRecursive \tMemoization \tItertive"); long start, end; int seqA; double time; for(int i = 20; i <= 40; i+=10){ start = System.nanoTime(); seqA = Seq.seqR(i); end = System.nanoTime(); time = (double)(end-start)/1000000; System.out.print(i + "\t" + form.format(time)); start = System.nanoTime(); seqA = Seq.seqM(i); end = System.nanoTime(); time = (double)(end-start)/1000000; System.out.print(i + "\t" + form.format(time)); start = System.nanoTime(); seqA = Seq.seqI(i); end = System.nanoTime(); time = (double)(end-start)/1000000; System.out.print(i + "\t" + form.format(time)); System.out.println(); } } }