P5716 【深基3.例9】月份天数---Java

题目描述

输入年份和月份,输出这一年的这一月有多少天。需要考虑闰年。
输入格式

无
输出格式

无
输入输出样例
输入 #1

1926 8

输出 #1

31

输入 #2

2000 2

输出 #2

29
//方法一:直接枚举出所有情况后再加以判断

import java.util.Scanner;
public class P5716 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int year = sc.nextInt();
        int month = sc.nextInt();
        sc.close();
            switch (month){
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:
                    System.out.print("31");
                    return;    //此处用return直接返回程序,下面的程序直接跳过,下同
                case 4:
                case 6:
                case 9:
                case 11:
                    System.out.print("30");
                    return;
        }
        if (f(year)==true){
            System.out.print("29");
        }
        else {
            System.out.print("28");
        }
    }
    public static boolean f(int n){    //判断是否为闰年
        if(n%400==0||((n%4==0)&&n%100!=0)){
            return true;
        }
        else {
            return false;
        }
    }
}

//方法二:用数组存储月份天数,再对年份进行判断即可。

import java.util.Scanner;
public class test {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int year = sc.nextInt();
        int month = sc.nextInt();
        int arr[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
        if (year%400==0||((year%4==0)&&(year%100!=0)))
            arr[2]=29;
        System.out.print(arr[month]);
    }
}

发布了31 篇原创文章 · 获赞 1 · 访问量 184

猜你喜欢

转载自blog.csdn.net/weixin_44048403/article/details/105341040