HDOJ2005

来源:互联网 发布:农村淘宝服务站地址 编辑:程序博客网 时间:2024/06/03 15:02

1.给定一个日期,输出这个日期是该年的第几天。输入的日期格式为YYYY/MM/DD。

2.首先将输入的日期定义为String类型。

3.然后用“/”对字符串进行分割:

String[] dateArray = dateStr.split("/");
输入的“YYYY/MM/DD”就成了“YYYY”“MM”“DD”

4.然后将分割出来的字符命名然后转换成整型:

String yearStr = dateArray[0];String monthStr = dateArray[1];String dayStr = dateArray[2];// 给被分出来的字符串按顺序命名int year = Integer.parseInt(yearStr);int month = Integer.parseInt(monthStr);int day = Integer.parseInt(dayStr);// 将字符串转换成int类型
5.然后接下来就开始计算:

int i = 30;int sum = (month - 1) * i + day;
思考出计算的基本思路然后判断平年跟闰年:

if (((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) && month > 2) {sum++;}
6.判断好了之后再判断最终输出内容:

switch (month) {case 1:System.out.println(sum);break;case 2:System.out.println(sum + 1);break;case 3:System.out.println(sum - 1);break;case 4:System.out.println(sum);break;case 5:System.out.println(sum );break;case 6:System.out.println(sum+1);break;case 7:System.out.println(sum + 1);break;case 8:System.out.println(sum+2);break;case 9:System.out.println(sum + 3);break;case 10:System.out.println(sum+3);break;case 11:System.out.println(sum + 4);break;case 12:System.out.println(sum+4);break;

AC代码:

import java.*;import java.util.*;public class index7 {public static void main(String[] args) {Scanner cin = new Scanner(System.in);String dateStr;while (cin.hasNext()) {dateStr = cin.nextLine();String[] dateArray = dateStr.split("/");// 根据 “/”符号 将字符串组分隔成单个字符串String yearStr = dateArray[0];String monthStr = dateArray[1];String dayStr = dateArray[2];// 给被分出来的字符串按顺序命名int year = Integer.parseInt(yearStr);int month = Integer.parseInt(monthStr);int day = Integer.parseInt(dayStr);// 将字符串转换成int类型int i = 30;int sum = (month - 1) * i + day;if (((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) && month > 2) {sum++;}switch (month) {case 1:System.out.println(sum);break;case 2:System.out.println(sum + 1);break;case 3:System.out.println(sum - 1);break;case 4:System.out.println(sum);break;case 5:System.out.println(sum );break;case 6:System.out.println(sum+1);break;case 7:System.out.println(sum + 1);break;case 8:System.out.println(sum+2);break;case 9:System.out.println(sum + 3);break;case 10:System.out.println(sum+3);break;case 11:System.out.println(sum + 4);break;case 12:System.out.println(sum+4);break;}}}}



0 0
原创粉丝点击