问题描述
给定一个年份y和一个整数d,问这一年的第d天是几月几日?
注意闰年的2月有29天。满足下面条件之一的是闰年:
1) 年份是4的整数倍,而且不是100的整数倍;
2) 年份是400的整数倍。
输入格式
输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015)。
输入的第二行包含一个整数d,d在1至365之间。
输出格式
输出两行,每行一个整数,分别表示答案的月份和日期。
样例输入
2015
80
样例输出
3
21
样例输入
2000
40
样例输出
2
9
import java.util.Scanner;
public class DateCompute {
static Scanner sc;
static int year;
static int day;
static int[] monthping = {0,31,28,31,30,31,30,31,31,30,31,30,31};
static int[] monthlun = {0,31,29,31,30,31,30,31,31,30,31,30,31};
public static void main(String[] args) {
sc = new Scanner(System.in);
year = sc.nextInt();
day = sc.nextInt();
deal(year,day);
}
public static void deal(int year,int day) {
int sum=0;
if(((year%4==0)&&(year%100!=0))||(year%400==0)) {
//表示是闰年
for(int i=1;i<monthlun.length;i++) {
sum+=monthlun[i];
if(sum>=day) {
//表示在第i个月
System.out.println(i);
System.out.print(day-sum+monthlun[i]);
break;
}
}
} else {
//表示是平年
for(int i=1;i<monthping.length;i++) {
sum+=monthping[i];
if(sum>=day) {
//表示在第i个月
System.out.println(i);
System.out.print(day-sum+monthping[i]);
break;
}
}
}
}
}
CCF试题日期计算-Java
猜你喜欢
转载自blog.csdn.net/kidchildcsdn/article/details/83758369
今日推荐
周排行