南阳OJ 题目75:日期计算
2017-04-28 15:47
232 查看
题目信息:题目链接
日期计算
时间限制: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
解题思路:
以一组数据为例,要计算输入的数据时第几天,则要先判断该年是否是闰年,因此总体的走向有两个:闰年和非闰年其次是天的具体计算,天数count应该为month-1之前月的总天数加上这个月month的天数day。
输入:
在使用nextInt()与nextLine()之间要加入一个nextLine(),用于吸收nextInt()中的缓冲符。
代码实现:
import java.util.Scanner; /** * Dragon * 2017/4/28 */ public class 日期计算 { private static int[][] months={{31,29,31,30,31,30,31,31,30,31,30,31}, {31,28,31,30,31,30,31,31,30,31,30,31,}}; public static void main(String[] args) { Scanner in=new Scanner(System.in); int n=in.nextInt(); in.nextLine(); int[] result=new int ; for(int i=0;i<n;i++) { String[] input=in.nextLine().split(" "); int year=Integer.parseInt(input[0]); int month=Integer.parseInt(input[1]); int day=Integer.parseInt(input[2]); result[i]=GetDateNumber(year,month,day); } for(int i=0;i<n;i++) System.out.println(result[i]); } private static int GetDateNumber(int year, int month, int day) { int flag=1; int count=0; if(year%4==0 && year %100!=0 || year%400==0) { flag=0; for(int i=0;i<month-1;i++) count+=months[flag][i]; count+=day; } else { for(int i=0;i<month-1;i++) count+=months[flag][i]; count+=day; } return count; } }
相关文章推荐
- 南阳oj_(75)日期计算
- 南阳题目75-日期计算
- 题目75-日期计算
- 题目75-日期计算
- 题目75 日期计算
- 南阳oj 题目75 日期计算
- 南阳oj 题目242 计算球体积
- 南阳 75 日期计算
- 南阳oj 前缀式计算 题目218
- 南阳oj 题目40 公约数和公倍数
- 南阳oj 题目199 无线网络覆盖
- 南阳oj 题目217 a letter and a number
- 南阳oj 棋盘覆盖 题目45
- 南阳oj题目35 表达式求值【栈的应用】
- 南阳oj 题目32 组合数
- 微软面试题目(一) 计算两个日期之间的天数
- 微软面试题目(一) 计算两个日期之间的天数
- hdoj Pipe&&南阳oj管道问题&&poj1039(计算几何问题...枚举)
- 三点顺序 【南阳 oj 题目68 】