From 1b41756992e9e837c53ee2ee70eaa1ec8a03e35b Mon Sep 17 00:00:00 2001 From: Kaitrina High Date: Sun, 15 Apr 2018 15:55:04 -0400 Subject: [PATCH 1/2] iterationcomplete --- src/main/java/io/zipcoder/Problem2.java | 24 ++++++++++++++++ src/test/java/io/zipcoder/Problem2Test.java | 32 +++++++++++++++++++++ 2 files changed, 56 insertions(+) diff --git a/src/main/java/io/zipcoder/Problem2.java b/src/main/java/io/zipcoder/Problem2.java index e0af6a0..e7e5821 100644 --- a/src/main/java/io/zipcoder/Problem2.java +++ b/src/main/java/io/zipcoder/Problem2.java @@ -1,4 +1,28 @@ package io.zipcoder; +import java.util.ArrayList; + public class Problem2 { + public String fibonacciIteration(int n) { + + ArrayList fibNums = new ArrayList(); + int firstNum = 0; + int secondNum = 1; + + while (true) { + if (firstNum < n) { + fibNums.add(firstNum); + firstNum += secondNum; + secondNum = firstNum - secondNum; + } else { + break; + } + } + return fibNums.toString().replace("[", "").replace("]", ""); + } +// public String fibonacciRecursion(int n) { +// } } + + + diff --git a/src/test/java/io/zipcoder/Problem2Test.java b/src/test/java/io/zipcoder/Problem2Test.java index fa9ffa5..ee913c7 100644 --- a/src/test/java/io/zipcoder/Problem2Test.java +++ b/src/test/java/io/zipcoder/Problem2Test.java @@ -1,4 +1,36 @@ package io.zipcoder; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + public class Problem2Test { + + Problem2 testProb; + + @Before + public void setup(){ + testProb = new Problem2(); + } + + @Test + public void testFibonacciIteration(){ + int n = 150; + String expectedOutput = "0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144"; + String actualOutput = testProb.fibonacciIteration(n); + Assert.assertEquals(expectedOutput, actualOutput); + } + + +// @Test +// public void testFibonacciRecursion(){ +// int n = 150; +// String expectedOutput = "0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144"; +// String actualOutput = testProb.fibonacciRecursion(n); +// Assert.assertEquals(expectedOutput, actualOutput); +// } } + + + + From 9b74b709b1fc5334910d88d5f58cab407788ad08 Mon Sep 17 00:00:00 2001 From: Kaitrina High Date: Sun, 15 Apr 2018 18:26:24 -0400 Subject: [PATCH 2/2] still struggling on recursion for this one --- src/main/java/io/zipcoder/Problem2.java | 52 +++++++++++++++++++-- src/test/java/io/zipcoder/Problem2Test.java | 18 +++---- 2 files changed, 58 insertions(+), 12 deletions(-) diff --git a/src/main/java/io/zipcoder/Problem2.java b/src/main/java/io/zipcoder/Problem2.java index e7e5821..765e450 100644 --- a/src/main/java/io/zipcoder/Problem2.java +++ b/src/main/java/io/zipcoder/Problem2.java @@ -1,11 +1,39 @@ package io.zipcoder; import java.util.ArrayList; +import java.util.Map; public class Problem2 { - public String fibonacciIteration(int n) { - ArrayList fibNums = new ArrayList(); + ArrayList fibNums; + + public Problem2() { + this.fibNums = new ArrayList(); + } + + /** + * Use iteration to produce fibonnaci series and return in string format + * @param n upperBound for fibonnaci series + * @return the Fibonacci series as a string up to the value of n + */ + // public String fibonacciIteration(int n) { +// ArrayList fibNums = new ArrayList(); +// int firstNum = 0; +// int secondNum = 1; +// +// while (true) { +// if (firstNum < n) { +// fibNums.add(firstNum); +// firstNum += secondNum; +// secondNum = firstNum - secondNum; +// } else { +// break; +// } +// } +// return fibNums.toString().replace("[", "").replace("]", ""); +// } + + public void fibonacciIteration(int n) { int firstNum = 0; int secondNum = 1; @@ -18,11 +46,27 @@ public String fibonacciIteration(int n) { break; } } + } + + + /** + * Use recursion to produce fibonnaci series and return in string format + * @param n upperBound for fibonnaci series + * @return the Fibonacci series as a string up to the value of n + */ + public int fibonacciRecursion(int n) { +//I need a statment that will close the loop. + fibNums.add(n); + return fibonacciRecursion(n - 1) + fibonacciRecursion(n - 2); + } + + @Override + public String toString(){ return fibNums.toString().replace("[", "").replace("]", ""); } -// public String fibonacciRecursion(int n) { -// } } + + diff --git a/src/test/java/io/zipcoder/Problem2Test.java b/src/test/java/io/zipcoder/Problem2Test.java index ee913c7..22b51a0 100644 --- a/src/test/java/io/zipcoder/Problem2Test.java +++ b/src/test/java/io/zipcoder/Problem2Test.java @@ -17,18 +17,20 @@ public void setup(){ public void testFibonacciIteration(){ int n = 150; String expectedOutput = "0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144"; - String actualOutput = testProb.fibonacciIteration(n); + testProb.fibonacciIteration(n); + String actualOutput = testProb.toString(); Assert.assertEquals(expectedOutput, actualOutput); } -// @Test -// public void testFibonacciRecursion(){ -// int n = 150; -// String expectedOutput = "0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144"; -// String actualOutput = testProb.fibonacciRecursion(n); -// Assert.assertEquals(expectedOutput, actualOutput); -// } + @Test + public void testFibonacciRecursion(){ + int n = 150; + String expectedOutput = "0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144"; + testProb.fibonacciRecursion(n); + String actualOutput = testProb.toString(); + Assert.assertEquals(expectedOutput, actualOutput); + } }