Skip to content

Commit 2c7c520

Browse files
catalin-burceaKevinGilmore
authored andcommitted
create triangles with for loops - examples (eugenp#7573)
1 parent 8205672 commit 2c7c520

2 files changed

Lines changed: 28 additions & 8 deletions

File tree

algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/printtriangles/PrintTriangleExamples.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
public class PrintTriangleExamples {
66

7-
public static String printARightAngledTriangle(int N) {
7+
public static String printARightTriangle(int N) {
88
StringBuilder result = new StringBuilder();
99
for (int r = 1; r <= N; r++) {
1010
for (int j = 1; j <= r; j++) {
@@ -29,6 +29,17 @@ public static String printAnIsoscelesTriangle(int N) {
2929
return result.toString();
3030
}
3131

32+
public static String printAnIsoscelesTriangleUsingStringUtils(int N) {
33+
StringBuilder result = new StringBuilder();
34+
35+
for (int r = 1; r <= N; r++) {
36+
result.append(StringUtils.repeat(' ', N - r));
37+
result.append(StringUtils.repeat('*', 2 * r - 1));
38+
result.append(System.lineSeparator());
39+
}
40+
return result.toString();
41+
}
42+
3243
public static String printAnIsoscelesTriangleUsingSubstring(int N) {
3344
StringBuilder result = new StringBuilder();
3445
String helperString = StringUtils.repeat(' ', N - 1) + StringUtils.repeat('*', N * 2 - 1);
@@ -41,8 +52,9 @@ public static String printAnIsoscelesTriangleUsingSubstring(int N) {
4152
}
4253

4354
public static void main(String[] args) {
44-
System.out.println(printARightAngledTriangle(5));
55+
System.out.println(printARightTriangle(5));
4556
System.out.println(printAnIsoscelesTriangle(5));
57+
System.out.println(printAnIsoscelesTriangleUsingStringUtils(5));
4658
System.out.println(printAnIsoscelesTriangleUsingSubstring(5));
4759
}
4860

algorithms-miscellaneous-3/src/test/java/com/baeldung/algorithms/printtriangles/PrintTriangleExamplesUnitTest.java

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99

1010
@RunWith(JUnitParamsRunner.class)
1111
public class PrintTriangleExamplesUnitTest {
12-
13-
private static Object[][] rightAngledTriangles() {
14-
String expected0 = "";
12+
13+
private static Object[][] rightTriangles() {
14+
String expected0 = "";
1515

1616
String expected2 = "*" + System.lineSeparator()
1717
+ "**" + System.lineSeparator();
@@ -39,9 +39,9 @@ private static Object[][] rightAngledTriangles() {
3939
}
4040

4141
@Test
42-
@Parameters(method = "rightAngledTriangles")
43-
public void whenPrintARightAngledTriangleIsCalled_ThenTheCorrectStringIsReturned(int nrOfRows, String expected) {
44-
String actual = PrintTriangleExamples.printARightAngledTriangle(nrOfRows);
42+
@Parameters(method = "rightTriangles")
43+
public void whenPrintARightTriangleIsCalled_ThenTheCorrectStringIsReturned(int nrOfRows, String expected) {
44+
String actual = PrintTriangleExamples.printARightTriangle(nrOfRows);
4545

4646
assertEquals(expected, actual);
4747
}
@@ -81,6 +81,14 @@ public void whenPrintAnIsoscelesTriangleIsCalled_ThenTheCorrectStringIsReturned(
8181

8282
assertEquals(expected, actual);
8383
}
84+
85+
@Test
86+
@Parameters(method = "isoscelesTriangles")
87+
public void whenPrintAnIsoscelesTriangleUsingStringUtilsIsCalled_ThenTheCorrectStringIsReturned(int nrOfRows, String expected) {
88+
String actual = PrintTriangleExamples.printAnIsoscelesTriangleUsingStringUtils(nrOfRows);
89+
90+
assertEquals(expected, actual);
91+
}
8492

8593
@Test
8694
@Parameters(method = "isoscelesTriangles")

0 commit comments

Comments
 (0)