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);
}
}