@@ -26,17 +26,21 @@ public String printVerticalLine(int numberOfLines) {
2626
2727 public String printRightTriangle (int numberOfLines ) {
2828 StringBuilder builder = new StringBuilder ();
29- for (int i = 1 ; i <= numberOfLines ; ++i ) builder .append (printHorizontalLine (i )).append (END_OF_LINE );
29+ for (int i = 1 ; i <= numberOfLines ; ++i ) {
30+ builder
31+ .append (printHorizontalLine (i ))
32+ .append (END_OF_LINE );
33+ }
3034 return builder .toString ();
3135 }
3236
3337 public String printIsoscelesTriangle (int numberOfLines ) {
38+ int numberOfAsterisks = 2 * numberOfLines - 1 ;
3439 StringBuilder builder = new StringBuilder ();
35- for (int i = 0 ; i < numberOfLines ; ++i ) {
36- int initialSpaces = numberOfLines - i - 1 ;
37- int leftAsterisks = 2 * i + 1 ;
38- builder .append (printSpaces (initialSpaces )).append (printHorizontalLine (leftAsterisks )).append (END_OF_LINE );
39- }
40+ builder
41+ .append (printIsoscelesTriangleWithInitialSpaces (numberOfLines - 1 ))
42+ .append (printHorizontalLine (numberOfAsterisks ))
43+ .append (END_OF_LINE );
4044 return builder .toString ();
4145 }
4246
@@ -48,7 +52,9 @@ String printSpaces(int numberOfSpaces) {
4852
4953 public String printDiamond (int n ) {
5054 StringBuilder builder = new StringBuilder ();
51- builder .append (printIsoscelesTriangle (n )).append (printInvertedIsoscelesTriangleWithInitialSpaces (n -1 ));
55+ builder
56+ .append (printIsoscelesTriangle (n ))
57+ .append (printInvertedIsoscelesTriangleWithInitialSpaces (n - 1 ));
5258 return builder .toString ();
5359 }
5460
@@ -57,12 +63,33 @@ String printInvertedIsoscelesTriangleWithInitialSpaces(int n) {
5763 for (int i = 0 ; i < n ; ++i ) {
5864 int initialSpaces = i +1 ;
5965 int leftAsterisks = 2 *(n -i )-1 ;
60- builder .append (printSpaces (initialSpaces )).append (printHorizontalLine (leftAsterisks )).append (END_OF_LINE );
66+ builder
67+ .append (printSpaces (initialSpaces ))
68+ .append (printHorizontalLine (leftAsterisks ))
69+ .append (END_OF_LINE );
6170 }
6271 return builder .toString ();
6372 }
6473
6574 public String printDiamondWithName (int n , String someName ) {
66- return null ;
75+ StringBuilder builder = new StringBuilder ();
76+ builder
77+ .append (printIsoscelesTriangleWithInitialSpaces (n - 1 ))
78+ .append (someName ).append (END_OF_LINE )
79+ .append (printInvertedIsoscelesTriangleWithInitialSpaces (n - 1 ));
80+ return builder .toString ();
81+ }
82+
83+ String printIsoscelesTriangleWithInitialSpaces (int numberOfLines ) {
84+ StringBuilder builder = new StringBuilder ();
85+ for (int i = 0 ; i < numberOfLines ; ++i ) {
86+ int initialSpaces = numberOfLines - i ;
87+ int leftAsterisks = 2 * i + 1 ;
88+ builder
89+ .append (printSpaces (initialSpaces ))
90+ .append (printHorizontalLine (leftAsterisks ))
91+ .append (END_OF_LINE );
92+ }
93+ return builder .toString ();
6794 }
6895}
0 commit comments