Java案例【switch】【case穿透】-根据输入年和月确定该月的天数

【案例需求】

根据输入年和月确定该月的天数

【案例分析】

1月、3月、5月、7月、8月、10月、12月有31天,4月、6月、9月、11月有30天,2月天数根据年份来确定,闰年29天,平年28天。用输入的月份值和1-12数值做匹配,得到对应的天数。选用switch语句实现,并结合case穿透,由于多个case语句体重复,考虑使用case穿透简化代码。在输入值为2(即2月份)的情况下,要判断年份是否为闰年来确定天数。

闰年:能被四整除的”不逢百之年“为闰年;能被400整除的是闰年

平年:不能被4整除的是平年;不能被400整除的”逢百之年“

【代码实现】

import java.util.Scanner;
public class Exe {

	public static void main(String[] args) {
		//声明变量year用于存储年份数据
		int year;
		//声明变量month用于存储月份数据
		int month;

		//1.键盘录入年份和月份
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入年份:");
		year = sc.nextInt();
		System.out.println("请输入月份:");
		month = sc.nextInt();
		//2.利用switch语句进行选择
		switch (month) {
		case 2 :
			//如果输入月份为2月,则先判断是否为闰年
			if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
				//闰年有29天
				System.out.println("29天");
			}else {
				//平年有28天
				System.out.println("28天");
			}
			break;
			//1月、3月、5月、8月、10月、12月有31天
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:
			System.out.println("31天");
			break;
			//4月、6月、9月、11月有30天
		case 4:
		case 6:
		case 9:
		case 11:
			System.out.println("30天");
			break;
			//如果输入的月份和上面case子句的值没有匹配上,则代表月份输入错误
		default:
			System.out.println("输入月份不正确");
		}

	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值