首页 > 编程语言 > 详细

Java基础50道经典练习题(14)——求日期

时间:2020-06-05 17:33:42      阅读:40      评论:0      收藏:0      [点我收藏+]
【程序 14 求日期】
题目:输入某年某月某日,判断这一天是这一年的第几天?
 
程序分析:以 3 月 5 日为例,应该先把前两个月的加起来,然后再加上 5 天即本年的第几天,特殊情况,
闰年且输入月份大于 3 时需考虑多加一天。
 
源码:
package com.homework.test;
import java.util.*;
/*
【程序 14 求日期】
题目:输入某年某月某日,判断这一天是这一年的第几天?
程序分析:以 3 月 5 日为例,应该先把前两个月的加起来,然后再加上 5 天即本年的第几天,特殊情况,
闰年且输入月份大于 3 时需考虑多加一天。

 */
public class Test14 {
    public static void main(String [] args){
        Scanner scan = new Scanner(System.in).useDelimiter("\\D"); //匹配非数字
        System.out.println("请输入日期(年-月-日):");
        int year = scan.nextInt();
        int month = scan.nextInt();
        int date = scan.nextInt();
        scan.close();

        System.out.println("该天是本年中的第"+fun(year,month,date)+"天");

    }

    public static int fun(int Y,int M, int D){
        int n = 0;
        int[] month_day = new int[]{31,28,31,30,31,30,31,31,30,31,30,31};
        if ((Y % 400 == 0) || ((Y % 4 == 0) && (Y % 100 != 0)))
            month_day[1] = 29;

        for (int i=0; i<M; i++){
            n += month_day[i];
        }
        return n+D;
    }

}

  

Java基础50道经典练习题(14)——求日期

原文:https://www.cnblogs.com/lcpp/p/13050937.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!