输入年月,输出该月的天数

题目要求
(1)闰年( LeapYear )是为了弥补因人为历法规定造成的年度天数(365)与地球头际公转周期(365天5小时48分46秒)的时间差而设立的。每4年多出来的一天加到2月份上(29天)。现行公历中每400年有97个闰年,因此每400年中要减少3个闰年。所以公历规定:四年一闰,百年不闰,四百年再国。1、3、5、7、8、10、12月为31天,4、6、911月为30天,闰年时2月29天,其他28天。
(2)判断 y 是否为闰年的逻辑表达式:( y %4==0&& y %100!=0) || ( y %400==0)即为闰年,反之不是。
(3)从键盘上输人年份(0~9999)和月份( I ~12),然后输出××××年××月有××天。

编程提示:使用 switch 语句实现,往意利用去失 break 子句出现的穿越现象

具体代码如下:

import java.util.Scanner;

public class LeapYear {

	public static void main(String[] args) {
	int Y,M;
	System.out.println("请输入年份和月份(中间用空格隔开):");
	Scanner sc=new Scanner(System.in);//调用Scanner方法获取年份和月份
	Y=sc.nextInt();
	M=sc.nextInt();
	LY(Y,M);//直接调用静态方法LY()
	}
	//静态方法
	public static void LY(int Y,int M) {
		if(M==2) {//如果是2月
			 if((Y%4==0&&Y%100!=0)||(Y%400==0))//判断是否为闰年
				 System.out.println(Y+"年"+M+"月有29天");
			 else
				 System.out.println(Y+"年"+M+"月有28天");
		}
		else {//不是2月的情况下
			switch(M) {
			case 1:
			case 3:
			case 5:
			case 7:
			case 8:
			case 10:
			case 12:System.out.println(Y+"年"+M+"月有31天");break;
			case 4:
			case 6:
			case 9:
			case 11:System.out.println(Y+"年"+M+"月有30天");break;
			}
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值