输入年月日,判断这天是这年的第几天

import java.util.Scanner;

public class Yesterday {
	/**
	 * 输入年月日
	 * 判断这天是这年的第几天
	 * 
	 * 输入函数
	 * 判断闰年和平年
	 * 每个月的日期相加
	 * 
	 * 闰年二月29天,能被4整除,平年二月28天,不能被4整除
	 * 1,4,6,8,10,12 31天,2 29/28天,3,5,7,9,11 30天
	 * 
	 */
	public static void main(String args[]){
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入年:");
		int year = scan.nextInt();
		System.out.println("请输入月:");
		int month = scan.nextInt();
		System.out.println("请输入日:");
		int day = scan.nextInt();
		int sumDays = 0;
		switch(month){
		case 12:
			sumDays += 30;//11月的总天数30
		case 11:
			sumDays += 31;//10月的总天数31
		case 10:
			sumDays += 30;//9月的总天数30
		case 9:
			sumDays += 31;//8月的总天数31
		case 8:
			sumDays += 31;//7月的总天数31
		case 7:
			sumDays += 30;//6月的总天数30
		case 6:
			sumDays += 31;//5月的总天数31
		case 5:
			sumDays += 30;//4月的总天数30
		case 4:
			sumDays += 31;//3月的总天数31
		case 3:
			if ((year % 4 ==0 && year % 100 !=0) || year % 400 ==0){
				sumDays += 29;//闰年2月的总天数29
			}else{
				sumDays += 28;//非闰年2月的总天数28
			}
		case 2:
			sumDays += 31;//1月的总天数31
		case 1:
			sumDays += day;//当月的天数		
		}
		System.out.println(year + "年" + month + "月" + day + "日是当年的第" + sumDays + "天");	

	}
}
经验分享 程序员 微信小程序 职场和发展