日期计算
时间限制:
3000 ms | 内存限制:
65535 KB
难度:
1
-
描述
-
如题,输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天。
-
输入
- 第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每行的输入数据都是一个按题目要求格式输入的日期。 输出
- 每组输入数据的输出占一行,输出判断出的天数n 样例输入
-
3 2000 4 5 2001 5 4 2010 10 24
样例输出
-
96 124 297
思路:
这道题先得判断输入年份是否是闰年,是闰年2月多一天。然后依次列出12个月,求它在一年的哪一天即可。
代码:
import java.util.Scanner;
public class Main {
public static boolean f(int a){
boolean b = false ;
if(a%4 == 0&&a%100!=0||a%400==0){
b = true;
}
return b;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int[] b = new int[a];
int[] c = new int[a];
int[] d = new int[a];
int[] sum = new int[a];
for(int i=0;i<a;i++){
b[i] = sc.nextInt();
c[i] = sc.nextInt();
d[i] = sc.nextInt();
}
for(int i=0;i<a;i++){
if(c[i] == 1){
sum[i] = d[i];
}else if(c[i] == 2){
sum[i] = 31+d[i];
}else if(c[i] == 3){
if(f(b[i]) == true){
sum[i] = 31+29+d[i];
}else{
sum[i] = 31+28+d[i];
}
}else if(c[i] == 4){
if(f(b[i]) == true){
sum[i] = 31+29+31+d[i];
}else{
sum[i] = 31+28+31+d[i];
}
}else if(c[i] == 5){
if(f(b[i]) == true){
sum[i] = 31+29+31+30+d[i];
}else{
sum[i] = 31+28+31+30+d[i];
}
}else if(c[i] == 6){
if(f(b[i]) == true){
sum[i] = 31+29+31+30+31+d[i];
}else{
sum[i] = 31+28+31+30+31+d[i];
}
}else if(c[i] == 7){
if(f(b[i]) == true){
sum[i] = 31+29+31+30+31+30+d[i];
}else{
sum[i] = 31+28+31+30+31+30+d[i];
}
}else if(c[i] == 8){
if(f(b[i]) == true){
sum[i] = 31+29+31+30+31+30+31+d[i];
}else{
sum[i] = 31+28+31+30+31+30+31+d[i];
}
}else if(c[i] == 9){
if(f(b[i]) == true){
sum[i] = 31+29+31+30+31+30+31+31+d[i];
}else{
sum[i] = 31+28+31+30+31+30+31+31+d[i];
}
}else if(c[i] == 10){
if(f(b[i]) == true){
sum[i] = 31+29+31+30+31+30+31+31+30+d[i];
}else{
sum[i] = 31+28+31+30+31+30+31+31+30+d[i];
}
}else if(c[i] == 11){
if(f(b[i]) == true){
sum[i] = 31+29+31+30+31+30+31+31+30+31+d[i];
}else{
sum[i] = 31+28+31+30+31+30+31+31+30+31+d[i];
}
}else if(c[i] == 12){
if(f(b[i]) == true){
sum[i] = 31+29+31+30+31+30+31+31+30+31+30+d[i];
}else{
sum[i] = 31+28+31+30+31+30+31+31+30+31+30+d[i];
}
}
}
for(int i=0;i<a;i++){
System.out.println(sum[i]);
}
}
}