杭电ACM2005题(第几天?)------Java语言
2016-10-06 13:52
465 查看
第几天?
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 127309 Accepted Submission(s): 46234
[align=left]Problem Description[/align]
给定一个日期,输出这个日期是该年的第几天。
[align=left]Input[/align]
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
[align=left]Output[/align]
对于每组输入数据,输出一行,表示该日期是该年的第几天。
[align=left]Sample Input[/align]
1985/1/20
2006/3/12
[align=left]Sample Output[/align]
20
71
import java.util.*; class Main{ public static void main (String args[]){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ String str = sc.nextLine(); String[] date = str.split("/"); //解析出 年 月 日 int n = Integer.parseInt(date[0]); int y = Integer.parseInt(date[1]); int r = Integer.parseInt(date[2]); int t = 0;//<span style="font-family: Arial, Helvetica, sans-serif;">是一月份就只要加日,是二月份就要把第一月份的天数(31)加上再加上日,是三月份就要把第一、二月份的天数(31+28)再加上日以此推</span> switch(y){ case 1 : t+=r;break; case 2: t+=31+r;break; case 3: t+=59+r;break; case 4: t+=90+r;break; case 5: t+=120+r;break; case 6: t+=151+r;break; case 7: t+=181+r;break; case 8: t+=212+r;break; case 9: t+=243+r;break; case 10: t+=273+r;break; case 11: t+=304+r;break; case 12: t+=334+r; } if((n%400==0||(n%4==0&&n%100!=0))&&y>2)<span style="font-family: Arial, Helvetica, sans-serif;">//闰年判断,闰年要多加一天</span> System.out.println(t+1); else System.out.println(t); } } }
相关文章推荐
- 2015考研 杭电 计算机学院 复试笔试题第一题 JAVA语言解法
- 杭电ACM2005java做法
- 杭电acm2005第几天?
- 输入年月日,输出这个日期是该年的第几天,java语言,switch-case实现
- 杭电ACM2002题-------Java语言
- 杭电ACM2001题------java语言
- 杭电2005(第几天?)java字符串水过
- 杭电ACM2000题------java语言
- 杭电 2005 ( 第几天? ) java
- 杭电oj(Java版)——2005 第几天?
- 杭电acm2005第几天?
- 杭电ACM1000题------java语言
- 杭电ACM1001题------java语言
- 杭电ACM2005题(第几天?)------C语言
- JAVA通过JNI调用本地C语言方法
- JAVA与模式 学习笔记(一) 统一的建模语言UML介绍(1)
- Java语言和C++语言的差异——老生常谈
- Java多语言编码问题解析(1)
- Java语言的Socket编程
- Java语言白皮书