zoukankan      html  css  js  c++  java
  • Java基础50道经典练习题(14)——求日期

    【程序 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;
        }
    
    }
    

      

  • 相关阅读:
    Redis为什么要自己实现一个SDS
    Redis中的数据结构
    编程题
    设计模式-代理模式
    设计模式-原型模式
    设计模式-工厂模式(简单工厂,工厂方法,抽象工厂)
    Redis基础
    Windows提高_1.4进程通信
    Windows提高_1.3文件操作
    Windows提高_1.2遍历进程、遍历模块
  • 原文地址:https://www.cnblogs.com/lcpp/p/13050937.html
Copyright © 2011-2022 走看看