杭电ACM2005题(第几天?)------Java语言

第几天?

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 127309    Accepted Submission(s): 46234


Problem Description
给定一个日期,输出这个日期是该年的第几天。
 

Input
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
 

Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。
 

Sample Input
1985/1/20 2006/3/12
 

Sample Output
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);
    }
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值