From 815d8009fa20ff247160e454547f78e2f495a6d9 Mon Sep 17 00:00:00 2001 From: gabriela Date: Mon, 27 Nov 2017 11:18:04 -0500 Subject: [PATCH 1/4] Problem 2..... --- src/main/java/io/zipcoder/Problem2.java | 35 ++++++++++++++++++++- src/test/java/io/zipcoder/Problem2Test.java | 17 ++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/Problem2.java b/src/main/java/io/zipcoder/Problem2.java index e0af6a0..281c95a 100644 --- a/src/main/java/io/zipcoder/Problem2.java +++ b/src/main/java/io/zipcoder/Problem2.java @@ -1,4 +1,37 @@ package io.zipcoder; +import java.util.StringTokenizer; + +//complies, but test is not passing.... + public class Problem2 { -} + + int numPrevious = 0; + int numPrePrevious = 1; + StringBuilder fibonacciString = new StringBuilder(); + + //fibonacciIteration + public String fibonacciIteration(int n) { + if (n == 0) { + fibonacciString.append("0"); + } + else if (n == 1) { + fibonacciString.append("0 1"); + } + else { + for (int i = 1; i < n; i++) { + int nextNumber = numPrevious + numPrePrevious; + fibonacciString.append(nextNumber + " "); + numPrevious = numPrePrevious; + numPrePrevious = nextNumber; + } + } + return fibonacciString.toString(); + } + + + public String fibonacciRecursion(int n) { + + } + +} \ No newline at end of file diff --git a/src/test/java/io/zipcoder/Problem2Test.java b/src/test/java/io/zipcoder/Problem2Test.java index fa9ffa5..4490a64 100644 --- a/src/test/java/io/zipcoder/Problem2Test.java +++ b/src/test/java/io/zipcoder/Problem2Test.java @@ -1,4 +1,21 @@ package io.zipcoder; +import org.junit.Assert; +import org.junit.Test; + public class Problem2Test { + + @Test + public void fibonacciIterationTest() { + Problem2 problem2Test = new Problem2(); + String expected = "0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144"; + String actual = problem2Test.fibonacciIteration(150); + Assert.assertEquals(expected, actual); + } + + @Test + public void fibonacciRecursionTest() { + + } + } From 95cdef8a93ec9d5043fc6125edfec19dd964ec58 Mon Sep 17 00:00:00 2001 From: gabriela Date: Fri, 1 Dec 2017 11:58:41 -0500 Subject: [PATCH 2/4] iterators through, working to remove last comma... --- src/main/java/io/zipcoder/Problem2.java | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/main/java/io/zipcoder/Problem2.java b/src/main/java/io/zipcoder/Problem2.java index 281c95a..dd20906 100644 --- a/src/main/java/io/zipcoder/Problem2.java +++ b/src/main/java/io/zipcoder/Problem2.java @@ -15,23 +15,30 @@ public String fibonacciIteration(int n) { if (n == 0) { fibonacciString.append("0"); } - else if (n == 1) { + if (n == 1) { fibonacciString.append("0 1"); } else { - for (int i = 1; i < n; i++) { - int nextNumber = numPrevious + numPrePrevious; - fibonacciString.append(nextNumber + " "); + fibonacciString.append("0, 1, "); + for (int nextNum = 0; nextNum < n; nextNum++) { + nextNum = numPrevious + numPrePrevious; + if(nextNum > n) { + break; + } + fibonacciString.append(nextNum + ", "); numPrevious = numPrePrevious; - numPrePrevious = nextNumber; + numPrePrevious = nextNum; } } + fibonacciString.deleteCharAt(fibonacciString.length()-1); return fibonacciString.toString(); } - public String fibonacciRecursion(int n) { +// public String fibonacciRecursion(int n) { +// +// } - } +} -} \ No newline at end of file +//if num is greater then n, remove it; don't print it \ No newline at end of file From f20b3a795cb2915379029506323f67e615752faa Mon Sep 17 00:00:00 2001 From: gabriela Date: Fri, 1 Dec 2017 12:09:24 -0500 Subject: [PATCH 3/4] iteration method working; recursion not done yet. --- src/main/java/io/zipcoder/Problem2.java | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/src/main/java/io/zipcoder/Problem2.java b/src/main/java/io/zipcoder/Problem2.java index dd20906..ef23814 100644 --- a/src/main/java/io/zipcoder/Problem2.java +++ b/src/main/java/io/zipcoder/Problem2.java @@ -1,9 +1,5 @@ package io.zipcoder; -import java.util.StringTokenizer; - -//complies, but test is not passing.... - public class Problem2 { int numPrevious = 0; @@ -16,13 +12,12 @@ public String fibonacciIteration(int n) { fibonacciString.append("0"); } if (n == 1) { - fibonacciString.append("0 1"); - } - else { + fibonacciString.append("0, 1"); + } else { fibonacciString.append("0, 1, "); for (int nextNum = 0; nextNum < n; nextNum++) { nextNum = numPrevious + numPrePrevious; - if(nextNum > n) { + if (nextNum > n) { break; } fibonacciString.append(nextNum + ", "); @@ -30,15 +25,12 @@ public String fibonacciIteration(int n) { numPrePrevious = nextNum; } } - fibonacciString.deleteCharAt(fibonacciString.length()-1); + fibonacciString.setLength(fibonacciString.length() - 2); return fibonacciString.toString(); } - // public String fibonacciRecursion(int n) { // // } -} - -//if num is greater then n, remove it; don't print it \ No newline at end of file +} \ No newline at end of file From 3b1dec45a4996bc68407003bb6b89555f3f09b14 Mon Sep 17 00:00:00 2001 From: gabriela Date: Fri, 1 Dec 2017 12:12:44 -0500 Subject: [PATCH 4/4] refactored iteration method --- src/main/java/io/zipcoder/Problem2.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/main/java/io/zipcoder/Problem2.java b/src/main/java/io/zipcoder/Problem2.java index ef23814..a88b4c8 100644 --- a/src/main/java/io/zipcoder/Problem2.java +++ b/src/main/java/io/zipcoder/Problem2.java @@ -6,7 +6,6 @@ public class Problem2 { int numPrePrevious = 1; StringBuilder fibonacciString = new StringBuilder(); - //fibonacciIteration public String fibonacciIteration(int n) { if (n == 0) { fibonacciString.append("0"); @@ -14,18 +13,17 @@ public String fibonacciIteration(int n) { if (n == 1) { fibonacciString.append("0, 1"); } else { - fibonacciString.append("0, 1, "); + fibonacciString.append("0, 1"); for (int nextNum = 0; nextNum < n; nextNum++) { nextNum = numPrevious + numPrePrevious; if (nextNum > n) { break; } - fibonacciString.append(nextNum + ", "); + fibonacciString.append(", " + nextNum); numPrevious = numPrePrevious; numPrePrevious = nextNum; } } - fibonacciString.setLength(fibonacciString.length() - 2); return fibonacciString.toString(); }