杭电acm1201 18岁生日 Java解法 时间类

简介: 杭电acm1201 18岁生日 Java解法 时间类


用JDK特有的时间类求解

先构建原型 再解析

import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        long n= sc.nextLong();
        for (long i = 0; i < n; i++) {
            String arr[]=sc.next().split("-");
            //一个人在2月29日出生则没有18岁生日
            if(Integer.parseInt(arr[1])==2&&Integer.parseInt(arr[2])==29){
                System.out.println("-1");
                continue;
            }
            LocalDate birthday = LocalDate.of(Integer.parseInt(arr[0]),Integer.parseInt(arr[1]) ,Integer.parseInt(arr[1]));
            System.out.println( calculateDaysUntil18(birthday));
        }
    }
 
    public static long calculateDaysUntil18(LocalDate birthday) {
        LocalDate turning18 = birthday.plusYears(18);
        return ChronoUnit.DAYS.between(birthday, turning18);
    }
}
目录
相关文章
|
1天前
|
存储 Java
心得经验总结:浅谈Java类中的变量初始化顺序
心得经验总结:浅谈Java类中的变量初始化顺序
|
1天前
|
存储 Java
一篇文章讲明白JAVA类与对象(六)
一篇文章讲明白JAVA类与对象(六)
|
2天前
|
Java 机器人 程序员
深入理解Java中的类与对象:封装、继承与多态
深入理解Java中的类与对象:封装、继承与多态
|
2天前
|
Java
八皇后问题92种解法(java)
八皇后问题92种解法(java)
9 0
|
2天前
|
Java 机器人 关系型数据库
Java中的类与接口:抽象与实现的艺术
Java中的类与接口:抽象与实现的艺术
|
2天前
|
Java
java反射-获取类的属性、构造方法、方法
java反射-获取类的属性、构造方法、方法
4 0
|
2天前
|
Java
java反射-获取类的Class对象方式
java反射-获取类的Class对象方式
4 0
|
2天前
|
存储 自然语言处理 Java
Java-File类与IO流(2)
Java-File类与IO流(2)
6 0
|
2天前
|
JSON Java 数据格式
IDEA插件-JSON转java类
IDEA插件-JSON转java类
13 0
|
2天前
|
Java
java档案类
java档案类
4 0