题目:输入某年某月某日,判断这一天是这一年中的第几天。
代码:
import java.util.Scanner;
public class Main {
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
int year = sc.nextInt();
int month = sc.nextInt();
int day = sc.nextInt();
sc.close();
int days = sum_days(year,month,day);
System.out.println(days);
}
static int judge_year(int year) //闰年返回0,不是的话返回1
{
if((year%4==0&&year%100!=0)||(year%400==0))
return 0;
else
return 1;
}
static int sum_days(int year,int month,int day)
{
if(judge_year(year)==0)//闰年
{
if(month==1)
{
return day;
}
else if(month==2)
{
return 31+day;
}
else if(month==3)
{
return 31+29+day;
}
else if(month==4)
{
return 31+29+31+day;
}
else if(month==5)
{
return 31+29+31+30+day;
}
else if(month==6)
{
return 31+29+31+30+31+day;
}
else if(month==7)
{
return 31+29+31+30+31+30+day;
}
else if(month==8)
{
return 31+29+31+30+31+30+31+day;
}
else if(month==9)
{
return 31+29+31+30+31+30+31+31+day;
}
else if(month==10)
{
return 31+29+31+30+31+30+31+31+30+day;
}
else if(month==11)
{
return 31+29+31+30+31+30+31+31+30+31+day;
}
else if(month==12)
{
return 31+29+31+30+31+30+31+31+30+31+30+day;
}
else
{
System.out.println("输入月份非法");
return 0;
}
}
else
{
if(month==1)
{
return day;
}
else if(month==2)
{
return 31+day;
}
else if(month==3)
{
return 31+28+day;
}
else if(month==4)
{
return 31+28+31+day;
}
else if(month==5)
{
return 31+28+31+30+day;
}
else if(month==6)
{
return 31+28+31+30+31+day;
}
else if(month==7)
{
return 31+28+31+30+31+30+day;
}
else if(month==8)
{
return 31+28+31+30+31+30+31+day;
}
else if(month==9)
{
return 31+28+31+30+31+30+31+31+day;
}
else if(month==10)
{
return 31+28+31+30+31+30+31+31+30+day;
}
else if(month==11)
{
return 31+28+31+30+31+30+31+31+30+31+day;
}
else if(month==12)
{
return 31+28+31+30+31+30+31+31+30+31+30+day;
}
else
{
System.out.println("输入月份非法");
return 0;
}
}
}
}