题解 | #日期类#

日期类

https://www.nowcoder.com/practice/130aa2d7d1f5436b920229dca253893b

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int m = sc.nextInt();
        while (m-- > 0) {
            int year = sc.nextInt();
            int month = sc.nextInt();
            int day = sc.nextInt();
            Date date = new Date(year, month, day);
            date.add();
            date.print();
        }
    }
    private static class Date {
        private int year, month, day;
        private int[] days = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
        private Date(int year, int month, int day) {
            if (isLeap(year)) days[2] = 29;
            this.year = year;
            this.month = month;
            this.day = day;
        }
        private boolean isLeap(int year) {
            return year % 400 == 0 || (year % 4 == 0 && year % 100 != 0);
        }
        private void add() {
            day++;
            if (day > days[month]) {
                day = 1;
                month++;
            }
            if (month > 12) {
                month = 1;
                year++;
            }
        }
        private void print() {
            System.out.printf("%4d-%02d-%02d\n", year, month, day);
        }
    }
}

全部评论

相关推荐

湫湫湫不会java:1.在校经历全删了2.。这些荣誉其实也没啥用只能说,要的是好的开发者不是好好学生3.项目五六点就行了,一个亮点一俩行,xxx技术解决,xxx问题带来xxx提升。第一页学历不行,然后啥有价值的信息也没有,到第二页看到项目了,第一个项目九点,第二个项目像凑数的俩点。总体给人又臭又长,一起加油吧兄弟
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务