加强switch

                      加强switch

请看下面的代码:

代码
import java.util.Scanner;
// 根据输入判断是闰年还是平年,并且得到输入月份的天数。等其它。。。。。。
public class Test {
public static void main(String[] args) {
System.out.println(
"******************欢 迎 使 用 万 年 历******************");
Scanner input
= new Scanner(System.in);
System.out.print(
"\n请选择年份: ");
int year = input.nextInt();
System.out.print(
"\n请选择月份: ");
int month = input.nextInt();
System.out.println();

int days = 0; // 存储当月的天数
boolean isRn;
/* 判断是否是闰年 */
if (year % 4 == 0 && !(year % 100 == 0) || year % 400 == 0) { // 判断是否为闰年
isRn = true; // 闰年
} else {
isRn
= false;// 平年
}

if (isRn) // 省略了{}
System.out.println(year + "\t闰年");
else // 省略了{}
System.out.println(year + "\t平年");


/* 计算该月的天数 */
/*
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 2:
if (isRn) {
days = 29;
} else {
days = 28;
}
break;
default:
days = 30;
break;
}
System.out.println(month + "\t共" + days + "天");
*/

/* 计算输入的年份之前的天数 */
int totalDays = 0;
for (int i = 1900; i < year; i++) {
/* 判断闰年或平年,并进行天数累加 */
if (i % 4 == 0 && !(i % 100 == 0) || i % 400 == 0) { // 判断是否为闰年
totalDays = totalDays + 366; // 闰年366天
} else {
totalDays
= totalDays + 365; // 平年365天
}
}
System.out.println(
"输入年份距离1900年1月1日的天数:" + totalDays);

/* 计算输入月份之前的天数 */
int beforeDays = 0;
for (int i = 1; i <= month; i++) {
switch (i) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days
= 31;
break;
case 2:
if (isRn) {
days
= 29;
}
else {
days
= 28;
}
break;
default:
days
= 30;
break;
}
if (i < month) {
beforeDays
= beforeDays + days;
}
}
totalDays
= totalDays + beforeDays; // 距离1900年1月1日的天数
System.out.println("输入月份距离1900年1月1日的天数:" + totalDays);
System.out.println(
"当前月份的天数:" + days);

}
}

 

posted @ 2010-12-19 20:46  meng72ndsc  阅读(244)  评论(0编辑  收藏  举报