zoukankan      html  css  js  c++  java
  • 【2018 校招真题】计算一年中的第几天

    计算一年中的第几天

    2018 校招真题美丽联合计算一年中的第几天

    题目描述
    今年的第几天?
    输入年、月、日,计算该天是本年的第几天。

    输入描述
    包括三个整数年 (1<=Y<=3000)、月 (1<=M<=12)、日 (1<=D<=31)。

    输出描述
    输入可能有多组测试数据,对于每一组测试数据,
    输出一个整数,代表 Input 中的年、月、日对应本年的第几天。

    输入

    1990 9 20
    2000 5 1
    

    输出

    263
    122
    

    Java 代码

    import java.util.Scanner;
    
    public class Solution {
        public static void main(String[] args) {
            Scanner in = new Scanner(System.in);
            while (in.hasNextInt()) {
                int Y = in.nextInt();
                int M = in.nextInt();
                int D = in.nextInt();
                System.out.println(getDays(Y, M, D));
            }
        }
    
        // 今年的第几天?
        public static int getDays(int Y, int M, int D) {
            int day = D;
            int[] days = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
            if (isLeapYear(Y)) {
                days[1] += 1;
            }
            for (int i = 0; i < M - 1; i++) {
                day += days[i];
            }
            return day;
        }
    
        // 判断是否为闰年?
        public static boolean isLeapYear(int year) {
            if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
                return true;
            }
            return false;
        }
    }
    

    运行结果

    注意:能够被 4 整除但是不能被 100 整除或能被 400 整除的年份称为闰年,闰年 2 月有 29 日,平年 2 月为 28 日。

    参考资料

  • 相关阅读:
    一些前端面试题
    CSS高度塌陷问题解决方案
    闭包
    作用域
    JS的预编译过程
    小技巧集合
    序选择器
    HTML初始结构
    剖析Vue原理&实现双向绑定MVVM
    Safari 3D transform变换z-index层级渲染异常
  • 原文地址:https://www.cnblogs.com/hgnulb/p/10282667.html
Copyright © 2011-2022 走看看