输入年月日,显示该天是这一年中的第几天,要求对输入的日期进行合理性检查。

import java.util.Scanner;
public class Ex
{
	public static void main(String[] args)
	{
		int year,month,day,a=0,b=0;
		Scanner reader=new Scanner(System.in);
		System.out.println("请输入年份");
		year=reader.nextInt();
		System.out.println("请输入月份");
		month=reader.nextInt();
		System.out.println("请输入日");
		day=reader.nextInt();
		if(month>12||month<=0)
			System.out.println("输入的月份有错误,请重新输入;");
		else if((month==1||month==3||month==5||month==7||month==8||month==10||month==12)&&day>31)
		    System.out.println("输入的日期有错误,请重新输入;");
		else if((month==4||month==6||month==9)&&day>30)
		    System.out.println("输入的日期有错误,请重新输入;");
		else if((year%4==0&&year%100!=0||year%400==0)&&month==2&&day>29)
			System.out.println("输入的日期有错误,请重新输入;");
		else if(!(year%4==0&&year%100!=0||year%400==0)&&month==2&&day>28)
			System.out.println("输入的日期有错误,请重新输入;");
		else {for(int i=1;i<month;i++)
				{
					switch(i)
					{
					case 1:
					case 3:
					case 5:
					case 7:
					case 8:
					case 10:
					case 12:a=31;  break;
					case 2:
						if(year%4==0&&year%100!=0||year%400==0)
						a=29;
					else
						a=28;
					break;
					case 4:
					case 6:
					case 9:
					case 11:a=30;  break;
					}
					b=b+a;					
				}
			b=b+day;
			System.out.println("这是这一年的第"+b+"天");
		    }
	}
}

猜你喜欢

转载自blog.csdn.net/m0_47305552/article/details/105906158
今日推荐