Просмотр исходного кода

twelve-days: inline constructVerse

Frida Johanne Tveit 9 лет назад
Родитель
Сommit
6e419cbe91
1 измененных файлов: 13 добавлений и 17 удалений
  1. 13
    17
      exercises/twelve-days/src/example/java/TwelveDays.java

+ 13
- 17
exercises/twelve-days/src/example/java/TwelveDays.java Просмотреть файл

@@ -1,7 +1,7 @@
1 1
 public class TwelveDays {
2
-    private static String[] days = new String[] {"first", "second", "third", "fourth", "fifth", "sixth", "seventh",
3
-        "eighth", "ninth", "tenth", "eleventh", "twelfth"};
4
-    private static String[] gifts = new String[] {
2
+    private static String[] days = new String[]{"first", "second", "third", "fourth", "fifth", "sixth", "seventh",
3
+            "eighth", "ninth", "tenth", "eleventh", "twelfth"};
4
+    private static String[] gifts = new String[]{
5 5
             "a Partridge in a Pear Tree.",
6 6
             "two Turtle Doves, ",
7 7
             "three French Hens, ",
@@ -17,14 +17,21 @@ public class TwelveDays {
17 17
     };
18 18
 
19 19
     public String verse(int verseNumber) {
20
-        return constructVerse(verseNumber);
20
+        StringBuilder stringBuilder = new StringBuilder("On the " + days[verseNumber - 1]
21
+                + " day of Christmas my true love gave to me, ");
22
+        for (int i = verseNumber; i > 0; i--) {
23
+            if (verseNumber != 1 && i == 1) stringBuilder.append("and ");
24
+            stringBuilder.append(gifts[i - 1]);
25
+        }
26
+        stringBuilder.append("\n");
27
+        return stringBuilder.toString();
21 28
     }
22 29
 
23 30
     public String verses(int verseNumberStart, int verseNumberEnd) {
24
-        StringBuilder stringBuilder = new StringBuilder(constructVerse(verseNumberStart));
31
+        StringBuilder stringBuilder = new StringBuilder(verse(verseNumberStart));
25 32
         for (int i = verseNumberStart + 1; i <= verseNumberEnd; i++) {
26 33
             stringBuilder.append("\n");
27
-            stringBuilder.append(constructVerse(i));
34
+            stringBuilder.append(verse(i));
28 35
         }
29 36
         return stringBuilder.toString();
30 37
     }
@@ -32,15 +39,4 @@ public class TwelveDays {
32 39
     public String sing() {
33 40
         return verses(1, 12);
34 41
     }
35
-
36
-    private String constructVerse(int verseNumber) {
37
-        StringBuilder stringBuilder = new StringBuilder("On the " + days[verseNumber - 1]
38
-                + " day of Christmas my true love gave to me, ");
39
-        for (int i = verseNumber; i > 0; i--) {
40
-            if (verseNumber != 1 && i == 1) stringBuilder.append("and ");
41
-            stringBuilder.append(gifts[i - 1]);
42
-        }
43
-        stringBuilder.append("\n");
44
-        return stringBuilder.toString();
45
-    }
46 42
 }