helloworld_lyh 2021-01-09 21:24 采纳率: 0%
浏览 11

JAVA Date源码感觉有段多余的,为什么?

public Date(int year, int month, int date, int hrs, int min, int sec) {
        int y = year + 1900;
        if (month >= 12) {
            y += month / 12;
            month %= 12;
        } else if (month < 0) {
            y += CalendarUtils.floorDivide(month, 12);
            month = CalendarUtils.mod(month, 12);
        }


public static final int floorDivide(int n, int d) {
        return n >= 0 ? n / d : (n + 1) / d - 1;
    }

不管mouth 是否大于0,floorDivide都可以处理,这地方分开来是因为调用速度的原因吗?

  • 写回答

2条回答 默认 最新

  • SoftwareTeacher 《编程之美》作者 2021-01-10 03:14
    关注

    month 什么时候为负数呢? 为负数的时候它的意义是什么?

    评论

报告相同问题?

悬赏问题

  • ¥15 在虚拟机中安装flash code
  • ¥15 单片机stm32f10x编写光敏电阻调节3.3伏大功率灯亮度(光强越大灯越暗,白天正常光强灯不亮,使用ADC,PWM等模块)望各位找一下错误或者提供一个可实现功能的代码
  • ¥20 verilog状态机方法流水灯
  • ¥15 pandas代码实现不了意图
  • ¥15 GD32H7 从存储器到外设SPI传输数据无法重复启用DMA
  • ¥25 LT码在高斯信道下的误码率仿真
  • ¥45 渲染完成之后将物体的材质贴图改变,自动化进行这个操作
  • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
  • ¥15 电视版的优酷可以设置电影连续播放吗?
  • ¥50 复现论文;matlab代码编写