CCF201509-2 日期计算 java(100分)

2023-09-03,

试题编号: 201509-2
试题名称: 日期计算
时间限制: 1.0s
内存限制: 256.0MB
问题描述: 问题描述
  给定一个年份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

问题描述:给定一个年份y和一个整数d,问这一年的第d天是几月几日?

package test;

import java.util.Scanner;

public class b_06 {
public static void main(String[] args){
int year,d;
Scanner in=new Scanner(System.in);
year=in.nextInt();
d=in.nextInt(); int month=0;
int day=0;
//闰年判断
boolean run=false;
if(year%100==0){
if(year%400==0) {
if(year%4==0){
run=true;
}
}
}else if(year%4==0)run=true; // System.out.println(run);
if(!run){
// switch(day)
// {
// case
// }
if(d<=31){
month=1;
day=d;
}else if(d<=59){
month=2;
day=d-31;
}else if(d<=90){
month=3;
day=d-59;
}else if(d<=120){
month=4;
day=d-90;
}else if(d<=151){
month=5;
day=d-120;
}else if(d<=181){
month=6;
day=d-151;
} else if(d<=212){
month=7;
day=d-181;
} else if(d<=243){
month=8;
day=d-212;
} else if(d<=273){
month=9;
day=d-243;
} else if(d<=304){
month=10;
day=d-273;
} else if(d<=334){
month=11;
day=d-304;
} else if(d<=365){
month=12;
day=d-334;
}
}else {
if(d<=31){
month=1;
day=d;
}else if(d<=60){
month=2;
day=d-31;
}else if(d<=91){
month=3;
day=d-60;
}else if(d<=121){
month=4;
day=d-91;
}else if(d<=152){
month=5;
day=d-121;
}else if(d<=182){
month=6;
day=d-152;
} else if(d<=213){
month=7;
day=d-182;
} else if(d<=244){
month=8;
day=d-213;
} else if(d<=274){
month=9;
day=d-244;
} else if(d<=305){
month=10;
day=d-274;
} else if(d<=335){
month=11;
day=d-305;
} else if(d<=366){
month=12;
day=d-335;
}
} System.out.println(month);
System.out.println(day);
}
}

CCF201509-2 日期计算 java(100分)的相关教程结束。

《CCF201509-2 日期计算 java(100分).doc》

下载本文的Word格式文档,以方便收藏与打印。