From 51bf5718c9448f6f04c17af7f822cc02583c1a5d Mon Sep 17 00:00:00 2001 From: Kthomas Date: Sat, 10 Feb 2018 14:19:01 -0500 Subject: [PATCH 1/5] first commit almost done --- .../mastering_loops/NumberUtilities.java | 73 +++++++++++++++++-- .../mastering_loops/TableUtilities.java | 13 +++- .../mastering_loops/TriangleUtilities.java | 48 +++++++++++- .../mastering_loops/NumberUtilitiesTest.java | 8 +- 4 files changed, 125 insertions(+), 17 deletions(-) diff --git a/src/main/java/io/zipcoder/microlabs/mastering_loops/NumberUtilities.java b/src/main/java/io/zipcoder/microlabs/mastering_loops/NumberUtilities.java index 7d979d2..3ac4952 100644 --- a/src/main/java/io/zipcoder/microlabs/mastering_loops/NumberUtilities.java +++ b/src/main/java/io/zipcoder/microlabs/mastering_loops/NumberUtilities.java @@ -3,34 +3,91 @@ public class NumberUtilities { public static String getEvenNumbers(int start, int stop) { - return null; + String numList = ""; + + for (int i = start; i < stop; i++) { + + if (i % 2 == 0) { + + numList = numList + i; + } + } + + + return numList; } public static String getOddNumbers(int start, int stop) { - return null; + + String numList = ""; + + for (int i = start; i < stop; i++) { + + if (i % 2 != 0) { + + numList = numList + i; + } + } + return numList; } public static String getSquareNumbers(int start, int stop, int step) { - return null; + + String numList = ""; + + for (int i = start; i < stop; i += step) { + + int theLid = (int) Math.pow(i, 2); + numList += String.valueOf(theLid); + + } + + return numList; } - public static String getRange(int start) { - return null; + + public static String getRange(int stop) { + String numList = ""; + + for (int i = 0; i < stop; i++) + numList += String.valueOf(i); + + return numList; } + + public static String getRange(int start, int stop) { - return null; + String numList = ""; + + for (int i = start; i < stop; i++) + numList += String.valueOf(i); + + return numList; } public static String getRange(int start, int stop, int step) { - return null; + String numList = ""; + + for (int i = start; i < stop; i+=step) + numList += String.valueOf(i); + + return numList; } public static String getExponentiations(int start, int stop, int step, int exponent) { - return null; + + String numList = ""; + + for (int i = start; i < stop; i += step) { + + int theLid = (int) Math.pow(i, exponent); + numList += String.valueOf(theLid); + } + return numList; } } diff --git a/src/main/java/io/zipcoder/microlabs/mastering_loops/TableUtilities.java b/src/main/java/io/zipcoder/microlabs/mastering_loops/TableUtilities.java index e27a826..978482b 100644 --- a/src/main/java/io/zipcoder/microlabs/mastering_loops/TableUtilities.java +++ b/src/main/java/io/zipcoder/microlabs/mastering_loops/TableUtilities.java @@ -1,8 +1,19 @@ package io.zipcoder.microlabs.mastering_loops; public class TableUtilities { + public static String getSmallMultiplicationTable() { - return null; + + String lilguy = ""; + for(int i = 1; i < 6; i++) { + String grow = ""; + for (int a = 1; a < 6; a++) { + int b = a * i; + grow += String.format("%3d", b) + " |"; + } + lilguy += grow + "\n"; + } + return lilguy; } public static String getLargeMultiplicationTable() { diff --git a/src/main/java/io/zipcoder/microlabs/mastering_loops/TriangleUtilities.java b/src/main/java/io/zipcoder/microlabs/mastering_loops/TriangleUtilities.java index 0c7cd35..db16d84 100644 --- a/src/main/java/io/zipcoder/microlabs/mastering_loops/TriangleUtilities.java +++ b/src/main/java/io/zipcoder/microlabs/mastering_loops/TriangleUtilities.java @@ -3,18 +3,58 @@ public class TriangleUtilities { public static String getTriangle(int numberOfRows) { - return null; + + String newTriangle = "*\n"; + String newLine= "*"; + int counter = 1; + + while(counter < numberOfRows - 1){ + newLine += "*"; + newTriangle += newLine + "\n"; + counter++; + } + return newTriangle; } public static String getRow(int numberOfStars) { - return null; + + String star = ""; + int counter = 1; + + while(counter <= numberOfStars) { + star = star + "*"; + counter++; + } + return star; } public static String getSmallTriangle() { - return null; + + String newTriangle = "*\n"; + String newLine = "*"; + int counter = 1; + + while(counter < 4){ + newLine += "*"; + newTriangle += newLine + "\n"; + counter++; + } + return newTriangle; } public static String getLargeTriangle() { - return null; + + String newTriangle = "*\n"; + String newLine = "*"; + int counter = 1; + + while(counter < 9){ + newLine += "*"; + newTriangle += newLine + "\n"; + counter++; + } + return newTriangle; } } + +// woo! \ No newline at end of file diff --git a/src/test/java/io/zipcoder/microlabs/mastering_loops/NumberUtilitiesTest.java b/src/test/java/io/zipcoder/microlabs/mastering_loops/NumberUtilitiesTest.java index 9f65abc..bdfc96a 100644 --- a/src/test/java/io/zipcoder/microlabs/mastering_loops/NumberUtilitiesTest.java +++ b/src/test/java/io/zipcoder/microlabs/mastering_loops/NumberUtilitiesTest.java @@ -8,7 +8,7 @@ public class NumberUtilitiesTest { public void testGetRange1A() { // : Given String expected = "0123456789"; - int stop = 11; + int stop = 10; // : When String actual = NumberUtilities.getRange(stop); @@ -87,7 +87,7 @@ public void testGetRange2B() { @Test public void testGetRange3B() { // : Given - String expected = "100101103104105106107108109"; + String expected = "100101102103104105106107108109"; int start = 100; int stop = 110; @@ -173,7 +173,7 @@ public void testGetRange3C() { @Test public void testGetEvenNumbers() { // : Given - String expected = "5791113151719"; + String expected = "681012141618"; int start = 5; int stop = 20; @@ -187,7 +187,7 @@ public void testGetEvenNumbers() { @Test public void testGetOddNumbers() { // : Given - String expected = "681012141618"; + String expected = "5791113151719"; int start = 5; int stop = 20; int step = 5; From 1c66ec4d12ba823b16f568073bf75b4b2566fed2 Mon Sep 17 00:00:00 2001 From: Kthomas Date: Sat, 10 Feb 2018 16:29:29 -0500 Subject: [PATCH 2/5] ayyyy im out here --- .../microlabs/mastering_loops/MainApp.java | 5 ++- .../mastering_loops/TableUtilities.java | 33 +++++++++++++++---- .../mastering_loops/TableUtilitiesTest.java | 8 +++-- 3 files changed, 36 insertions(+), 10 deletions(-) diff --git a/src/main/java/io/zipcoder/microlabs/mastering_loops/MainApp.java b/src/main/java/io/zipcoder/microlabs/mastering_loops/MainApp.java index 29e339b..b35c288 100644 --- a/src/main/java/io/zipcoder/microlabs/mastering_loops/MainApp.java +++ b/src/main/java/io/zipcoder/microlabs/mastering_loops/MainApp.java @@ -5,7 +5,10 @@ /** * Created by leon on 1/31/18. */ -public class MainApp { +public class MainApp extends TableUtilities{ public static void main(String[] args) { + TableUtilities result = new TableUtilities(); + System.out.print(result.getMultiplicationTable(20)); + } } diff --git a/src/main/java/io/zipcoder/microlabs/mastering_loops/TableUtilities.java b/src/main/java/io/zipcoder/microlabs/mastering_loops/TableUtilities.java index 978482b..f184722 100644 --- a/src/main/java/io/zipcoder/microlabs/mastering_loops/TableUtilities.java +++ b/src/main/java/io/zipcoder/microlabs/mastering_loops/TableUtilities.java @@ -2,7 +2,7 @@ public class TableUtilities { - public static String getSmallMultiplicationTable() { + public String getSmallMultiplicationTable() { String lilguy = ""; for(int i = 1; i < 6; i++) { @@ -16,11 +16,32 @@ public static String getSmallMultiplicationTable() { return lilguy; } - public static String getLargeMultiplicationTable() { - return null; + public String getLargeMultiplicationTable() { + + String bigguy = ""; + for(int i = 1; i < 11; i++) { + String grow = ""; + for (int a = 1; a < 11; a++) { + int b = a * i; + grow += String.format("%3d", b) + " |"; + } + bigguy += grow + "\n"; + } + return bigguy; } - public static String getMultiplicationTable(int tableSize) { - return null; + public String getMultiplicationTable(int tableSize) { + + String ultraguy = ""; + for (int i = 1; i < 21; i++) { + String grow = ""; + for (int a = 1; a < 21; a++) { + int b = a * i; + grow += String.format("%3d", b) + " |"; + } + ultraguy += grow + "\n"; + } + + return ultraguy; + } } -} diff --git a/src/test/java/io/zipcoder/microlabs/mastering_loops/TableUtilitiesTest.java b/src/test/java/io/zipcoder/microlabs/mastering_loops/TableUtilitiesTest.java index 1903290..57a2074 100644 --- a/src/test/java/io/zipcoder/microlabs/mastering_loops/TableUtilitiesTest.java +++ b/src/test/java/io/zipcoder/microlabs/mastering_loops/TableUtilitiesTest.java @@ -7,6 +7,8 @@ * Created by leon on 1/31/18. */ public class TableUtilitiesTest { + + TableUtilities table = new TableUtilities(); @Test public void testGetLargeMultiplicationTable() { String expected = @@ -21,7 +23,7 @@ public void testGetLargeMultiplicationTable() { " 9 | 18 | 27 | 36 | 45 | 54 | 63 | 72 | 81 | 90 |\n" + " 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 |100 |\n"; - String actual = TableUtilities.getLargeMultiplicationTable(); + String actual = table.getLargeMultiplicationTable(); Assert.assertEquals(expected, actual); } @@ -35,7 +37,7 @@ public void testGetSmallMultiplicationTable() { " 4 | 8 | 12 | 16 | 20 |\n" + " 5 | 10 | 15 | 20 | 25 |\n"; - String actual = TableUtilities.getSmallMultiplicationTable(); + String actual = table.getSmallMultiplicationTable(); Assert.assertEquals(expected, actual); } @@ -62,7 +64,7 @@ public void testGetMultiplicationTable() { " 18 | 36 | 54 | 72 | 90 |108 |126 |144 |162 |180 |198 |216 |234 |252 |270 |288 |306 |324 |342 |360 |\n" + " 19 | 38 | 57 | 76 | 95 |114 |133 |152 |171 |190 |209 |228 |247 |266 |285 |304 |323 |342 |361 |380 |\n" + " 20 | 40 | 60 | 80 |100 |120 |140 |160 |180 |200 |220 |240 |260 |280 |300 |320 |340 |360 |380 |400 |\n"; - String actual = TableUtilities.getMultiplicationTable(20); + String actual = table.getMultiplicationTable(20); Assert.assertEquals(expected, actual); } From d3ee7806da9fe9768c05941c693436666edac8ca Mon Sep 17 00:00:00 2001 From: Kthomas Date: Mon, 16 Apr 2018 11:30:45 -0400 Subject: [PATCH 3/5] Refactor --- .../mastering_loops/NumberUtilities.java | 79 ++++++------------- 1 file changed, 26 insertions(+), 53 deletions(-) diff --git a/src/main/java/io/zipcoder/microlabs/mastering_loops/NumberUtilities.java b/src/main/java/io/zipcoder/microlabs/mastering_loops/NumberUtilities.java index 3ac4952..7575eb9 100644 --- a/src/main/java/io/zipcoder/microlabs/mastering_loops/NumberUtilities.java +++ b/src/main/java/io/zipcoder/microlabs/mastering_loops/NumberUtilities.java @@ -1,93 +1,66 @@ package io.zipcoder.microlabs.mastering_loops; - public class NumberUtilities { public static String getEvenNumbers(int start, int stop) { - String numList = ""; - + StringBuilder numList = new StringBuilder(); for (int i = start; i < stop; i++) { - if (i % 2 == 0) { - - numList = numList + i; + numList.append(i); } } - - return numList; + return numList.toString(); } - public static String getOddNumbers(int start, int stop) { - - String numList = ""; - + StringBuilder numList = new StringBuilder(); for (int i = start; i < stop; i++) { - if (i % 2 != 0) { - - numList = numList + i; + numList.append(i); } } - return numList; - } + return numList.toString(); + } public static String getSquareNumbers(int start, int stop, int step) { - - String numList = ""; - + StringBuilder numList = new StringBuilder(); for (int i = start; i < stop; i += step) { - - int theLid = (int) Math.pow(i, 2); - numList += String.valueOf(theLid); - + int x = (int) Math.pow(i, 2); + numList.append(String.valueOf(x)); } - return numList; + return numList.toString(); } - public static String getRange(int stop) { - String numList = ""; - + StringBuilder numList = new StringBuilder(); for (int i = 0; i < stop; i++) - numList += String.valueOf(i); - - return numList; + numList.append(String.valueOf(i)); + return numList.toString(); } - - public static String getRange(int start, int stop) { - String numList = ""; - + StringBuilder numList = new StringBuilder(); for (int i = start; i < stop; i++) - numList += String.valueOf(i); - - return numList; + numList.append(String.valueOf(i)); + return numList.toString(); } - public static String getRange(int start, int stop, int step) { - String numList = ""; - + StringBuilder numList = new StringBuilder(); for (int i = start; i < stop; i+=step) - numList += String.valueOf(i); - - return numList; + numList.append(String.valueOf(i)); + return numList.toString(); } - public static String getExponentiations(int start, int stop, int step, int exponent) { - - String numList = ""; - + StringBuilder numList = new StringBuilder(); for (int i = start; i < stop; i += step) { - - int theLid = (int) Math.pow(i, exponent); - numList += String.valueOf(theLid); + int x = (int) Math.pow(i, exponent); + numList.append(String.valueOf(x)); } - return numList; + + return numList.toString(); } -} +} \ No newline at end of file From f4e92ec94be0f8d70d117a2b8c2267af1c815cec Mon Sep 17 00:00:00 2001 From: Kthomas Date: Mon, 16 Apr 2018 11:36:49 -0400 Subject: [PATCH 4/5] Refactor 2 --- .../mastering_loops/TableUtilities.java | 50 ++++++++++--------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/src/main/java/io/zipcoder/microlabs/mastering_loops/TableUtilities.java b/src/main/java/io/zipcoder/microlabs/mastering_loops/TableUtilities.java index f184722..2419e90 100644 --- a/src/main/java/io/zipcoder/microlabs/mastering_loops/TableUtilities.java +++ b/src/main/java/io/zipcoder/microlabs/mastering_loops/TableUtilities.java @@ -3,45 +3,47 @@ public class TableUtilities { public String getSmallMultiplicationTable() { - - String lilguy = ""; - for(int i = 1; i < 6; i++) { - String grow = ""; - for (int a = 1; a < 6; a++) { - int b = a * i; - grow += String.format("%3d", b) + " |"; - } - lilguy += grow + "\n"; + StringBuilder smallTable = new StringBuilder(); + for (int i = 1; i < 6; i++) { + StringBuilder grow = new StringBuilder(); + for (int a = 1; a < 6; a++) { + int b = a * i; + grow.append(String.format("%3d", b)).append(" |"); } - return lilguy; + + smallTable.append(grow).append("\n"); + } + + return smallTable.toString(); } public String getLargeMultiplicationTable() { - - String bigguy = ""; - for(int i = 1; i < 11; i++) { - String grow = ""; + StringBuilder bigTable = new StringBuilder(); + for (int i = 1; i < 11; i++) { + StringBuilder grow = new StringBuilder(); for (int a = 1; a < 11; a++) { int b = a * i; - grow += String.format("%3d", b) + " |"; + grow.append(String.format("%3d", b)).append(" |"); } - bigguy += grow + "\n"; + + bigTable.append(grow).append("\n"); } - return bigguy; + + return bigTable.toString(); } public String getMultiplicationTable(int tableSize) { - - String ultraguy = ""; + StringBuilder table = new StringBuilder(); for (int i = 1; i < 21; i++) { - String grow = ""; + StringBuilder grow = new StringBuilder(); for (int a = 1; a < 21; a++) { int b = a * i; - grow += String.format("%3d", b) + " |"; + grow.append(String.format("%3d", b)).append(" |"); } - ultraguy += grow + "\n"; - } - return ultraguy; + table.append(grow).append("\n"); } + + return table.toString(); } +} \ No newline at end of file From fe52ffbc4c9374b239c7165e27feb4e71b113339 Mon Sep 17 00:00:00 2001 From: Kthomas Date: Mon, 16 Apr 2018 11:41:26 -0400 Subject: [PATCH 5/5] Refactor 3 --- .../mastering_loops/TableUtilities.java | 4 ++ .../mastering_loops/TriangleUtilities.java | 70 +++++++++---------- 2 files changed, 36 insertions(+), 38 deletions(-) diff --git a/src/main/java/io/zipcoder/microlabs/mastering_loops/TableUtilities.java b/src/main/java/io/zipcoder/microlabs/mastering_loops/TableUtilities.java index 2419e90..7773a9b 100644 --- a/src/main/java/io/zipcoder/microlabs/mastering_loops/TableUtilities.java +++ b/src/main/java/io/zipcoder/microlabs/mastering_loops/TableUtilities.java @@ -1,6 +1,10 @@ package io.zipcoder.microlabs.mastering_loops; public class TableUtilities { + /** + * + * @return a formatted multiplication table of various sizes + */ public String getSmallMultiplicationTable() { StringBuilder smallTable = new StringBuilder(); diff --git a/src/main/java/io/zipcoder/microlabs/mastering_loops/TriangleUtilities.java b/src/main/java/io/zipcoder/microlabs/mastering_loops/TriangleUtilities.java index db16d84..aaded9b 100644 --- a/src/main/java/io/zipcoder/microlabs/mastering_loops/TriangleUtilities.java +++ b/src/main/java/io/zipcoder/microlabs/mastering_loops/TriangleUtilities.java @@ -3,58 +3,52 @@ public class TriangleUtilities { public static String getTriangle(int numberOfRows) { + StringBuilder newTriangle = new StringBuilder("*\n"); + StringBuilder newLine = new StringBuilder("*"); + int counter = 1; + while (counter < numberOfRows - 1) { + newLine.append("*"); + newTriangle.append(newLine).append("\n"); + counter++; + } - String newTriangle = "*\n"; - String newLine= "*"; - int counter = 1; - - while(counter < numberOfRows - 1){ - newLine += "*"; - newTriangle += newLine + "\n"; - counter++; - } - return newTriangle; + return newTriangle.toString(); } public static String getRow(int numberOfStars) { - - String star = ""; - int counter = 1; - - while(counter <= numberOfStars) { - star = star + "*"; - counter++; + StringBuilder star = new StringBuilder(); + int counter = 1; + while (counter <= numberOfStars) { + star.append("*"); + counter++; } - return star; + + return star.toString(); } public static String getSmallTriangle() { - - String newTriangle = "*\n"; - String newLine = "*"; + StringBuilder newTriangle = new StringBuilder("*\n"); + StringBuilder newLine = new StringBuilder("*"); int counter = 1; - - while(counter < 4){ - newLine += "*"; - newTriangle += newLine + "\n"; + while (counter < 4) { + newLine.append("*"); + newTriangle.append(newLine).append("\n"); counter++; } - return newTriangle; + + return newTriangle.toString(); } public static String getLargeTriangle() { - - String newTriangle = "*\n"; - String newLine = "*"; - int counter = 1; - - while(counter < 9){ - newLine += "*"; - newTriangle += newLine + "\n"; - counter++; + StringBuilder newTriangle = new StringBuilder("*\n"); + StringBuilder newLine = new StringBuilder("*"); + int counter = 1; + while (counter < 9) { + newLine.append("*"); + newTriangle.append(newLine).append("\n"); + counter++; } - return newTriangle; + + return newTriangle.toString(); } } - -// woo! \ No newline at end of file