java声明一个日期类MyDate

复制代码
使用递归调用求某个整数的阶乘n!

声明一个日期类MyDate,包含如下方法:

* - boolean isLeapYear():判断是否是闰年

* - String monthName():根据月份值,返回对应的英语单词

* - int totalDaysOfMonth():返回这个月的总天数

* - int totalDaysOfYear():返回这一年的总天数

* - int daysOfTheYear():返回这一天是当年的第几数

* 在测试类的main方法中,创建MyDate对象,赋值为当天日期值,调用方法

复制代码
public class MyDate {
 
    //判断是否是闰年
    public boolean isLeapYear(int year) {
        if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
            return true;
        } else {
            return false;
        }
    }
 
    //根据月份值,返回对应的英语单词
    public String monthName(int month) {
        switch (month) {
            case 1:
                return "January";
            case 2:
                return "February";
            case 3:
                return "March";
            case 4:
                return "April";
            case 5:
                return "May";
            case 6:
                return "June";
            case 7:
                return "July";
            case 8:
                return "August";
            case 9:
                return "February";
            case 10:
                return "October";
            case 11:
                return "November";
            case 12:
                return "December";
            default:
                return "数据错误";
        }
    }
 
    //返回这个月的总天数
    public int totalDaysOfMonth(int year, int month) {
        switch (month) {
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                return 31;
            case 4:
            case 6:
            case 9:
            case 11:
                return 30;
            case 2:
                if (isLeapYear(year)) {
                    return 29;
                } else {
                    return 28;
                }
            default:
                return -1;
        }
    }
 
    //返回这一年的总天数
    public int totalDaysOfYear(int year) {
        if (isLeapYear(year)) {
            return 366;
        } else {
            return 365;
        }
    }
 
    //返回这一天是当年的第几天数
    public int daysOfTheYear(int year, int month, int date) {
        int total = 0;
        for (int i = 1; i <= month; i++) {
            total += totalDaysOfMonth(year, month);
        }
        return total += date;
    }
}

public class MyDateTest {
    public static void main(String[] args) {
        MyDate myDate = new MyDate();
 
        System.out.println("请输入年份:");
        Scanner scan1 = new Scanner(System.in);
        int year = scan1.nextInt();
        System.out.println("请输入月份:");
        Scanner scan2 = new Scanner(System.in);
        int month = scan2.nextInt();
        System.out.println("请输入日期:");
        Scanner scan3 = new Scanner(System.in);
        int date = scan2.nextInt();
 
//        System.out.println(year);
//        System.out.println(month);
//        System.out.println(date);
 
        System.out.println("今年是否是闰年:"+myDate.isLeapYear(year));
        System.out.println("这个月对应的英文单词是:"+myDate.monthName(month));
        System.out.println("这个月总共"+myDate.totalDaysOfMonth(year, month)+"天");
        System.out.println("今年的总天数是"+myDate.totalDaysOfYear(year)+"天");
        System.out.println("今天是今年的第"+myDate.daysOfTheYear(year, month, date)+"天");
    }
}
相关推荐
顾漂亮22 分钟前
Token快过期的三种续期方案
java·spring·状态模式
侯小啾29 分钟前
【03】C语言 强制类型转换 与 进制转换
c语言·数据结构·算法
Xの哲學1 小时前
Linux NAPI 架构详解
linux·网络·算法·架构·边缘计算
徐同保1 小时前
tailwindcss暗色主题切换
开发语言·前端·javascript
蓝纹绿茶1 小时前
bash:**:pip:***python: 错误的解释器: 没有那个文件或目录
开发语言·python·pip
云知谷1 小时前
【经典书籍】C++ Primer 第15章类虚函数与多态 “友元、异常和其他高级特性” 精华讲解
c语言·开发语言·c++·软件工程·团队开发
START_GAME2 小时前
深度学习Diffusers:用 DiffusionPipeline 实现图像生成
开发语言·python·深度学习
牢七2 小时前
mwf攻防。
java
不爱编程的小九九2 小时前
小九源码-springboot088-宾馆客房管理系统
java·开发语言·spring boot
thinktik2 小时前
AWS EKS安装S3 CSI插件[AWS 海外区]
后端·kubernetes·aws