Sha256: c4cdfacdb86fe002b7b37dc7c38630a750d2ee92a6f032e43bf98d87e15b431f

Contents?: true

Size: 1.57 KB

Versions: 257

Compression:

Stored size: 1.57 KB

Contents

public class TwelveDays {
    private static String[] days = new String[]{"first", "second", "third", "fourth", "fifth", "sixth", "seventh",
            "eighth", "ninth", "tenth", "eleventh", "twelfth"};
    private static String[] gifts = new String[]{
            "a Partridge in a Pear Tree.",
            "two Turtle Doves, ",
            "three French Hens, ",
            "four Calling Birds, ",
            "five Gold Rings, ",
            "six Geese-a-Laying, ",
            "seven Swans-a-Swimming, ",
            "eight Maids-a-Milking, ",
            "nine Ladies Dancing, ",
            "ten Lords-a-Leaping, ",
            "eleven Pipers Piping, ",
            "twelve Drummers Drumming, "
    };

    public String verse(int verseNumber) {
        StringBuilder stringBuilder = new StringBuilder("On the " + days[verseNumber - 1]
                + " day of Christmas my true love gave to me, ");
        for (int i = verseNumber; i > 0; i--) {
            if (verseNumber != 1 && i == 1) stringBuilder.append("and ");
            stringBuilder.append(gifts[i - 1]);
        }
        stringBuilder.append("\n");
        return stringBuilder.toString();
    }

    public String verses(int verseNumberStart, int verseNumberEnd) {
        StringBuilder stringBuilder = new StringBuilder(verse(verseNumberStart));
        for (int i = verseNumberStart + 1; i <= verseNumberEnd; i++) {
            stringBuilder.append("\n");
            stringBuilder.append(verse(i));
        }
        return stringBuilder.toString();
    }

    public String sing() {
        return verses(1, 12);
    }
}

Version data entries

257 entries across 257 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/java/exercises/twelve-days/.meta/src/reference/java/TwelveDays.java
trackler-2.2.1.179 tracks/java/exercises/twelve-days/.meta/src/reference/java/TwelveDays.java
trackler-2.2.1.178 tracks/java/exercises/twelve-days/.meta/src/reference/java/TwelveDays.java
trackler-2.2.1.177 tracks/java/exercises/twelve-days/.meta/src/reference/java/TwelveDays.java
trackler-2.2.1.176 tracks/java/exercises/twelve-days/.meta/src/reference/java/TwelveDays.java
trackler-2.2.1.175 tracks/java/exercises/twelve-days/.meta/src/reference/java/TwelveDays.java
trackler-2.2.1.174 tracks/java/exercises/twelve-days/.meta/src/reference/java/TwelveDays.java
trackler-2.2.1.173 tracks/java/exercises/twelve-days/.meta/src/reference/java/TwelveDays.java
trackler-2.2.1.172 tracks/java/exercises/twelve-days/.meta/src/reference/java/TwelveDays.java
trackler-2.2.1.171 tracks/java/exercises/twelve-days/.meta/src/reference/java/TwelveDays.java
trackler-2.2.1.170 tracks/java/exercises/twelve-days/.meta/src/reference/java/TwelveDays.java
trackler-2.2.1.169 tracks/java/exercises/twelve-days/.meta/src/reference/java/TwelveDays.java
trackler-2.2.1.167 tracks/java/exercises/twelve-days/.meta/src/reference/java/TwelveDays.java
trackler-2.2.1.166 tracks/java/exercises/twelve-days/.meta/src/reference/java/TwelveDays.java
trackler-2.2.1.165 tracks/java/exercises/twelve-days/.meta/src/reference/java/TwelveDays.java
trackler-2.2.1.164 tracks/java/exercises/twelve-days/.meta/src/reference/java/TwelveDays.java
trackler-2.2.1.163 tracks/java/exercises/twelve-days/.meta/src/reference/java/TwelveDays.java
trackler-2.2.1.162 tracks/java/exercises/twelve-days/.meta/src/reference/java/TwelveDays.java
trackler-2.2.1.161 tracks/java/exercises/twelve-days/.meta/src/reference/java/TwelveDays.java
trackler-2.2.1.160 tracks/java/exercises/twelve-days/.meta/src/reference/java/TwelveDays.java