P103 日期问题

这道题只需要暴力枚举每一个情况就可以

代码奉上

java 复制代码
import java.util.Scanner;

public class Main {
    static int[] days = {0,31,28,31,30,31,30,31,31,30,31,30,31};
     static boolean check(int Y , int M , int D) {
        if (M == 0 || M > 12) return false;
        if (D == 0 || M != 2 && D > days[M]) return false;
        if (M == 2) {
            int leap = Y % 100 != 0 && Y % 4 == 0 || Y % 400 == 0 ? 1 : 0;
            if (D > 28 + leap) return false;
        }
        return true;
    }

    public static void main(String[] args) {
        //将字符串转换为数字
        Scanner sc = new Scanner(System.in);
        String input = sc.nextLine();
        String[] parts = input.split("/");
        int AA = Integer.parseInt(parts[0]);
        int BB = Integer.parseInt(parts[1]);
        int CC = Integer.parseInt(parts[2]);

        for (int i = 19600101; i <= 20591231; i++) {
            int year = i / 10000;
            int Month = i / 100 % 100;
            int day = i % 100;

            if (check(year, Month, day)) {
                if (year % 100 == AA && Month == BB && day == CC || year %100 == BB && Month == CC && day == AA || year %100 == CC && Month == AA && day == BB) {
                    System.out.printf("%02d-%02d-%02d\n", year, Month, day);
                }
            }
        }
    }
}

没有什么好解释的,主要想说一下paresInt和valueOf的区别

我们要首先说一下基本类型和对象的区别:

基本类型 = 纯数值,光秃秃,啥功能没有 对象 = 装数值的 "盒子",有功能、有方法、有属性

除了那8个基本类型,剩下的都是对象

基本类型:

  • 只有值,没有任何方法 你不能写 a.xxx,会报错
  • 存的就是数字本身
  • 速度极快
  • 不能放进集合(List、Map)
  • 赋值就是复制值 int b = a; 复制的是 10 这个值

对象:

  • 是一个 "东西",有方法、有功能
  • 存的是地址(引用)
  • 可以放进集合
  • 赋值是复制地址

基本类型 = 一张钞票(只有面值,没功能)

对象 = 一个钱包(里面有钱,还能打开、存放)

现在说一下paresInt和valueOf的区别:

Integer.parseInt(s) → 得到 基本类型 int

Integer.valueOf(s) → 得到 对象 Integer

什么时候用哪个?

parseInt

  • 做计算

  • 存到 int 变量里

  • 90% 的日常情况都用它

valueOf

  • 要放进 集合(List、Map)

  • 需要 对象

相关推荐
酉鬼女又兒2 小时前
零基础入门前端JavaScript 基础语法详解(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·javascript·chrome·蓝桥杯
计算机安禾2 小时前
【C语言程序设计】第38篇:链表数据结构(二):链表的插入与删除操作
c语言·开发语言·数据结构·c++·算法·链表
颜酱2 小时前
吃透回溯算法:从框架到实战
javascript·后端·算法
oem1102 小时前
C++中的适配器模式
开发语言·c++·算法
lly2024062 小时前
jQuery 隐藏/显示
开发语言
逸Y 仙X2 小时前
文章八:ElasticSearch特殊数据字段类型解读
java·大数据·linux·运维·elasticsearch·搜索引擎
青木川崎2 小时前
设计模式之面试题
java·开发语言·设计模式
空空潍2 小时前
Java核心基础语法:从原理到实战,夯实Java开发基石
java·开发语言
jing-ya2 小时前
day 57 图论part9
java·开发语言·数据结构·算法·图论