/**********************************
作者:dongyu
文件名:date.java
用法:直接复制粘贴即可
运行:请输入年:XXXX 回车
请输入月:XX 回车
请输入日:XX 回车
输出:这一天是这一年的第xx天
***********************************/
import java.io.*;
public class date{
public static void main(String[] args){
int year,month,date,mark=1,leap=1,sum=0;
System.out.println("请输入年:");
year=IO.getInt();
System.out.println("请输入月:");
month=IO.getInt();
System.out.println("请输入日:");
date=IO.getInt();
if(year<0||year>2050)
{
System.out.println("输入的年 超出范围!\n");
mark=0;
}
if(month<0||month>12)
{
System.out.println("输入的月 超出范围!\n");
mark=0;
}
if(date<0||date>31)
System.out.println("输入的日 超出范围!\n");
else if((year%400==0)||(year%4==0&&year%100!=0))
{
leap=1;
if((date<0||date>29)&&month==2)
{
System.out.println("输入的日 超出范围!\n");
mark=0;
}
}
else
{
leap=0;
if((date<0||date>28)&&month==2)
{
System.out.println("输入的日 超出范围!\n");
mark=0;
}
}
if(mark==1)
{
switch(month)
{
case 1:sum=0;
break;
case 2:sum=31;
break;
case 3:sum=62;
break;
case 4:sum=92;
break;
case 5:sum=123;
break;
case 6:sum=153;
break;
case 7:sum=184;
break;
case 8:sum=215;
break;
case 9:sum=245;
break;
case 10:sum=276;
break;
case 11:sum=306;
break;
case 12:sum=337;
break;
default:
System.out.println("数据错误");
}
if(leap==1&&month>=2)
{
sum++;
sum=sum-2+date;
}
else if(leap==0&&month>=2)
{
sum++;
sum=sum-3+date;
}
else
{
sum++;
sum=sum+date;
}
System.out.println("这一天是这一年的第"+sum+"天");
}
else
System.out.println("输入错误");
}
}
温馨提示:答案为网友推荐,仅供参考