题目:输入某年某月某日,判断这一天是这一年的第几天?

       以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。

public class Test14 {
	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		System.out.print("请分别输入所要查询的年月日:");
		int year = s.nextInt();
		int month = s.nextInt();
		int days = s.nextInt();
		//方法一
		boolean isLeapyear = false;	//定义布尔型变量判断是否为闰年
		
		if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
			isLeapyear = true;
		}
		
		switch(month) {
		case 1:
			date(0, days);
			break;
		case 2:
			date(31, days);
			break;
		case 3:
			if(isLeapyear) {
				date(60, days);
			}else {
				date(59, days);
			}
			break;
		case 4:
			if(isLeapyear) {
				date(91, days);
			}else {
				date(90, days);
			}
			break;
		case 5:
			if(isLeapyear) {
				date(121, days);
			}else {
				date(120, days);
			}
			break;
		case 6:
			if(isLeapyear) {
				date(152, days);
			}else {
				date(151, days);
			}
			break;
		case 7:
			if(isLeapyear) {
				date(182, days);
			}else {
				date(181, days);
			}
			break;
		case 8:
			if(isLeapyear) {
				date(213, days);
			}else {
				date(212, days);
			}
			break;
		case 9:
			if(isLeapyear) {
				date(244, days);
			}else {
				date(243, days);
			}
			break;
		case 10:
			if(isLeapyear) {
				date(274, days);
			}else {
				date(273, days);
			}
			break;
		case 11:
			if(isLeapyear) {
				date(305, days);
			}else {
				date(304, days);
			}
			break;
		case 12:
			if(isLeapyear) {
				date(335, days);
			}else {
				date(334, days);
			}
			break;
		default:
		}
	
	static void date(int sum,int days) {
		System.out.println("这是该年的第" + (days + sum) + "天");
	}

}
public class Test14 {
	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		System.out.print("请分别输入所要查询的年月日:");
		int year = s.nextInt();
		int month = s.nextInt();
		int days = s.nextInt();
		
		//方法二
		int[] list = {31,60,91,121,152,182,213,244,274,305,335,366};
		int count = 0;
		if (month == 1)
		    count = days;
		if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
		    if (month > 1 && month < 13)
		        count = list[month - 2] + days;
		}else {
		    if (month > 1 && month < 13)
		        count = list[month - 2] + days - 1;
		System.out.print("这是该年的第" + count + "天");
		}
	}
	
}

题目:输入某年某月某日,判断这一天是这一年的第几天?