歌曲《圣诞节十二天》歌词打印("The Twelve Days of Christmas" Song)

对于有一定规律的文本,如《圣诞节十二天》这首歌,可以用程序完美输出。

不用打字、不用复制粘贴?对!只需执行代码,电脑将为你自动生成八百多字的歌词,一字不差。

 

注意:

1.字符串数组中的元素要初始化,否则,打印时会显示“null”

2.对于个别词组,可能在不同段落(如,第一段和最后一段)的显示有细微差别,可通过增加判断条件,单独定义。(本例中在case中增加if, else if语句实现)

代码如下:

 

//JHTP Exercise 5.29: "The Twelve Days of Christmas" Song
//by pandenghuang@163.com
/**(“The Twelve Days of Christmas” Song) Write an application that uses repetition and
 *  switch statements to print the song “The Twelve Days of  Christmas.” One switch 
 *  statement should be used to print the day (“first,” “second,” and so on). 
 *  A separate switch statement should be used to print the remainder of each verse. 
 *  Visit the website en.wikipedia.org/wiki/The_Twelve_Days_of_Christmas_(song) for the
 *   lyrics of the song.*/

public class SongTDC 
{
public static void main(String[] args)
{
	String[] day=new String[12];
	String[] gift=new String[12];
	for (int i=1;i<=12;i++)
		gift[i-1]="";
	
	for (int i=1;i<=12;i++){
		switch (i){
		case  1:
			day[i-1]="first";
			break;
		case  2:
			day[i-1]="second";
			break;
		case  3:
			day[i-1]="third";
			break;
		case  4:
			day[i-1]="fourth";
			break;
		case  5:
			day[i-1]="fifth";
			break;
		case  6:
			day[i-1]="sixth";
			break;
		case  7:
			day[i-1]="seventh";
			break;
		case  8:
			day[i-1]="eighth";
			break;
		case  9:
			day[i-1]="ninth";
			break;
		case  10:
			day[i-1]="tenth";
			break;
		case  11:
			day[i-1]="eleventh";
			break;
		case  12:
			day[i-1]="twelfth";
			break;
		}	
		
		switch (i){
		case  12:
			gift[i-1]="Twelve drummers drumming, ";
		case  11:
			gift[i-1]+="Eleven pipers piping, ";
		case  10:
			gift[i-1]+="Ten lords a-leaping, ";
		case  9:
			gift[i-1]+="Nine ladies dancing, ";
		case  8:
			gift[i-1]+="Eight maids a-milking, ";
		case  7:
			gift[i-1]+="Seven swans a-swimming, ";
		case  6:
			gift[i-1]+="Six geese a-laying, ";
		case  5:
			gift[i-1]+="Five golden rings, ";
		case  4:
			gift[i-1]+="Four calling birds, ";
		case  3:
			gift[i-1]+="Three French hens, ";
		case  2:
			gift[i-1]+="Two turtle doves, ";
		case  1:
			if(i!=1 &&i!=12)
			gift[i-1]+="And A partridge in a pear tree.";
			else if(i==1)
				gift[i-1]+="A partridge in a pear tree.";
			else
				gift[i-1]+="And A partridge in a pear tree!";
		}
	
			System.out.printf("On the %s day of Christmas, "
					+ "my true love sent to me: %s\n\n",day[i-1],gift[i-1]);
	} 
} 
}

 

 

 

 

运行结果:

On the first day of Christmas, my true love sent to me: A partridge in a pear tree.

On the second day of Christmas, my true love sent to me: Two turtle doves, And A partridge in a pear tree.

On the third day of Christmas, my true love sent to me: Three French hens, Two turtle doves, And A partridge in a pear tree.

On the fourth day of Christmas, my true love sent to me: Four calling birds, Three French hens, Two turtle doves, And A partridge in a pear tree.

On the fifth day of Christmas, my true love sent to me: Five golden rings, Four calling birds, Three French hens, Two turtle doves, And A partridge in a pear tree.

On the sixth day of Christmas, my true love sent to me: Six geese a-laying, Five golden rings, Four calling birds, Three French hens, Two turtle doves, And A partridge in a pear tree.

On the seventh day of Christmas, my true love sent to me: Seven swans a-swimming, Six geese a-laying, Five golden rings, Four calling birds, Three French hens, Two turtle doves, And A partridge in a pear tree.

On the eighth day of Christmas, my true love sent to me: Eight maids a-milking, Seven swans a-swimming, Six geese a-laying, Five golden rings, Four calling birds, Three French hens, Two turtle doves, And A partridge in a pear tree.

On the ninth day of Christmas, my true love sent to me: Nine ladies dancing, Eight maids a-milking, Seven swans a-swimming, Six geese a-laying, Five golden rings, Four calling birds, Three French hens, Two turtle doves, And A partridge in a pear tree.

On the tenth day of Christmas, my true love sent to me: Ten lords a-leaping, Nine ladies dancing, Eight maids a-milking, Seven swans a-swimming, Six geese a-laying, Five golden rings, Four calling birds, Three French hens, Two turtle doves, And A partridge in a pear tree.

On the eleventh day of Christmas, my true love sent to me: Eleven pipers piping, Ten lords a-leaping, Nine ladies dancing, Eight maids a-milking, Seven swans a-swimming, Six geese a-laying, Five golden rings, Four calling birds, Three French hens, Two turtle doves, And A partridge in a pear tree.

On the twelfth day of Christmas, my true love sent to me: Twelve drummers drumming, Eleven pipers piping, Ten lords a-leaping, Nine ladies dancing, Eight maids a-milking, Seven swans a-swimming, Six geese a-laying, Five golden rings, Four calling birds, Three French hens, Two turtle doves, And A partridge in a pear tree!

 

 



  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值