Java输入年份和月份判断多少天实例代码

下面是Java输入年份和月份判断多少天的完整攻略。

确定闰年

首先需要确定输入的年份是否为闰年,因为闰年的二月份有29天,而平年只有28天。

判断闰年的规则如下:

  1. 普通闰年:公历年份是4的倍数的,一般是闰年。(如2004年就是闰年);
  2. 世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是世纪闰年,而2000年是世纪闰年)。

判断月份天数

根据输入的年份和月份来判断这个月应该有多少天。

通常每个月的天数如下:

  1. 31天的月份:1月,3月,5月,7月,8月,10月,12月;
  2. 30天的月份:4月,6月,9月,11月;
  3. 闰年的2月份有29天,平年的2月份有28天。

完整示例代码

下面是一个完整的Java示例代码,用户可以输入年份和月份,程序会自动判断这个月有多少天。

import java.util.Scanner;

public class DaysOfMonth {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入年份:");
        int year = input.nextInt();
        System.out.print("请输入月份:");
        int month = input.nextInt();
        int numDays = 0;
        switch (month) {
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                numDays = 31;
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                numDays = 30;
                break;
            case 2:
                if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
                    numDays = 29;
                } else {
                    numDays = 28;
                }
                break;
            default:
                System.out.println("无效的月份!");
                break;
        }
        System.out.println("本月有 " + numDays + " 天。");
    }
}

示例1

假设用户输入年份为2022,月份为2,程序输出如下:

请输入年份:2022
请输入月份:2
本月有 28 天。

示例2

假设用户输入年份为2000,月份为2,程序输出如下:

请输入年份:2000
请输入月份:2
本月有 29 天。

希望这份攻略对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java输入年份和月份判断多少天实例代码 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Spring Boot 使用Druid详解

    Spring Boot使用Druid的详细攻略如下: 添加Druid依赖 在Spring Boot中使用Druid,需要在pom.xml文件中添加Druid的依赖: <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot…

    Java 2023年5月15日
    00
  • Spring Security基于JWT实现SSO单点登录详解

    Spring Security基于JWT实现SSO单点登录详解 什么是单点登录(SSO)? 单点登录(SSO)指的是用户只需要一次登录,就可以访问多个应用系统。在传统的系统中,我们需要为每一个系统单独注册,单独登录,对于用户来说,这是一种不便。 JWT是什么? JWT(JSON Web Token)是一种用于身份验证的开放标准。它是由 IETF(Intern…

    Java 2023年5月20日
    00
  • 如何使用​win10内置的linux系统启动spring-boot项目

    下面是如何使用Win10内置的Linux系统启动spring-boot项目的完整攻略。 安装WSL WSL(Windows Subsystem for Linux)是Win10内置的Linux子系统,可在其上运行各种Linux发行版。要使用WSL启动spring-boot项目,首先需要安装WSL: 打开”控制面板”,进入”程序与功能”,选择左侧的”启用或关闭…

    Java 2023年5月19日
    00
  • java 字符串分割的三种方法(总结)

    Java 字符串分割是一种将字符串拆分为多个子字符串的技术。它是一个常见的字符串操作,用于从文本数据中提取所需的信息。 下面是java字符串分割的三种方法及其详细讲解: 方法一:使用split()方法进行分割 Java中String类有一个split()方法,可以根据指定的分隔符将字符串拆分为多个子字符串,并将结果存储在一个数组中。 String str =…

    Java 2023年5月26日
    00
  • Python提取支付宝和微信支付二维码的示例代码

    针对Python提取支付宝和微信支付二维码的示例代码,我可以提供以下攻略: 1. 安装必备库 首先,我们需要使用Python requests库来获取支付宝和微信支付页面的HTML内容,因此我们需要确保该库已经安装。如果你还没有安装requests库,可以在终端输入以下命令: pip install requests 2. 获取HTML内容 接下来,我们需要…

    Java 2023年5月23日
    00
  • 在Java中按值调用和按引用调用

    在Java中,传递参数时有两种方式:按值传递和按引用传递。这两种方式有着不同的使用场景和特点,需要进行深入的探讨。 按值传递 在Java中,按值传递是指将数据(即变量的值)复制一份传递给被调用的方法。修改被传递进方法中的值不会影响调用方法前变量的值。 下面是一个按值传递的例子: public class PassByValueExample { public…

    Java 2023年5月20日
    00
  • 详解Spring Data JPA使用@Query注解(Using @Query)

    当我们使用Spring Data JPA进行数据库操作时,我们可以使用@Query注解来定制自己的SQL语句。本文将详细讲解@Query注解的使用方法。 1. @Query注解概述 @Query注解可以被用来定义查询语言或者存储过程语言,以代替基于方法名的查询语句。通过使用@Query,可以使用JPQL或者本地SQL来执行查询。该注解用于在JPA Repos…

    Java 2023年5月20日
    00
  • Java 随机生成验证码(支持大小写字母、数字、随机字体)的实例

    先介绍一下Java生成验证码的基本流程: 随机生成字符或数字。 使用随机字体样式和大小。 创建画布,设置画布大小、背景色和边框。 在画布上绘制字符和干扰线等图形。 输出验证码图片。 下面我们来看一个完整的Java随机生成验证码的代码示例: package com.example; import java.awt.Color; import java.awt.…

    Java 2023年6月15日
    00
合作推广
合作推广
分享本页
返回顶部