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-transaction源码分析(3)Transactional事务失效原因

    问题概述 在Transactional方法中使用this方式调用另一个Transactional方法时,拦截器无法拦截到被调用方法,严重时会使事务失效。 类似以下代码: @Transactional public void insertBlogList(List<Blog> blogList) { for (Blog blog : blogLis…

    Java 2023年5月11日
    00
  • Java中输出字符的ASCII值实例

    下面是详细的“Java中输出字符的ASCII值实例”的攻略。 1. 什么是ASCII码 首先我们需要了解,ASCII码是美国信息交换标准代码(American Standard Code for Information Interchange)的缩写,是一个基于26个英文字母的编码系统,用于在计算机和其他设备之间传输文本信息和二进制数据。大多数现代计算机编程…

    Java 2023年5月26日
    00
  • spring boot前后端交互之数据格式转换问题

    下面是“Spring Boot前后端交互之数据格式转换问题”的完整攻略。 1. 概述 在使用Spring Boot进行前后端交互时,常常会涉及到数据格式的转换问题,例如将Java对象转换为JSON对象,或将JSON对象转换为Java对象。这在前后端交互中非常常见,本文将简单介绍如何解决这些问题。 2. Java对象转JSON对象 Java对象转JSON对象最…

    Java 2023年5月20日
    00
  • Java日常练习题,每天进步一点点(49)

    首先,这是一篇关于Java练习题的攻略。根据题目名称“Java日常练习题, 每天进步一点点”,我们可以初步判断这篇攻略是针对Java初学者的日常练习计划。该练习计划涵盖了Java基础知识的各个方面,从变量类型到控制语句,再到面向对象编程和异常处理等。通过练习,初学者可以逐渐掌握Java的基本概念、语法和编程思想,不断提高自己的编程水平和解决问题的能力。 接下…

    Java 2023年5月23日
    00
  • Java中「Future」接口详解

    目录 一、背景 二、Future接口 1、入门案例 2、Future接口 三、CompletableFuture类 1、基础说明 2、核心方法 2.1 实例方法 2.2 计算方法 2.3 结果获取方法 2.4 任务编排方法 2.5 异常处理方法 3、线程池问题 四、CompletableFuture原理 1、核心结构 2、零依赖 3、一元依赖 4、二元依赖 …

    Java 2023年4月17日
    00
  • JSP实现登录功能之添加验证码

    JSP实现登录功能之添加验证码的完整攻略可以分为以下几步: 1. 引入验证码依赖库 首先需要引入验证码相关的依赖库,常用的验证码依赖库有Kaptcha和Google的ReCaptcha。 以Kaptcha为例,需要在项目的pom.xml文件中添加以下依赖: <dependency> <groupId>com.github.penggl…

    Java 2023年6月15日
    00
  • XML经典问答

    XML经典问答攻略 本文将为您提供针对XML经典问题的攻略,以解决常见的XML相关问题。以下是您需要注意的几个方面: 1. XML文档结构 XML文件通常由一个根元素(root element)组成,并由开始标签和结束标签加以表示。中间可以嵌套若干子元素。元素可以包含属性(attribute)或文本(text)。如下所示: <?xml version=…

    Java 2023年5月20日
    00
  • java获取登录者IP和登录时间的两种实现代码详解

    下面将详细讲解如何实现在Java中获取登录者IP和登录时间的两种方法。 获取登录者IP和登录时间的方法 使用HttpServletRequest对象获取登录者IP 在Java web开发中,我们可以通过获取HttpServletRequest对象来获取登录者的IP地址。 String ip = request.getRemoteAddr(); 当用户登录时,…

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