合法的日期

在这里插入图片描述

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Scanner;
import java.util.Set;

public class Main {
    
    
	public static void main(String[] args){
    
    
		Scanner cin=new Scanner(System.in);
        String s=cin.next();
        int[]months= {
    
    0,31,28,31,30,31,30,31,31,30,31,30,31};
        int year=Integer.parseInt(s.substring(0,4));
        if(year<1)
        {
    
    
        	System.out.println("no");
        	return;
        }
        if((year%4==0&&year%100!=0)||(year%400==0))
        {
    
    
        	months[2]=29;
        }
        int month=Integer.parseInt(s.substring(4, 6));
        int day=Integer.parseInt(s.substring(6));
        if(month<1||month>12)
        {
    
    
        	System.out.println("no");
        	return;
        }
        if(day>months[month]||day<0)
        {
    
    
        	System.out.println("no");
        	return;
        }
        System.out.println("yes");
	}
}

注意

1、year也有范围,一般是>=1
2、String转int也用Integer.parseInt();
3、Integer.parseInt();当字符串无法解析成整数时,要用try{}catch(Exception e){}

猜你喜欢

转载自blog.csdn.net/m0_64799907/article/details/131036053