Java平闰年判断的方法总结

 更新时间:2018年02月24日 11:13:12   作者:彬菌  
本篇文章给大家整理了Java平闰年判断的两种方法,大家在写程序的时候如果用的到参考下吧。

普通方法:

import java.util.Scanner; 

public class Bissextile{ 
	public static void main(String[] args){ 
    Scanner input=new Scanner(System.in);//声明扫描仪变量 
    System.out.println("请输入年份");//系统提示输入年份 
    try{ //监听异常
    while(true){ //不断读取用户输入的值
      int years=input.nextInt();//取得下一行输入的年份值 
      if (years<1000||years>9999) 
         System.out.println("请输入大于1000小于9999的年份"); 
      else if(years % 4 == 0 && years % 100 != 0 || years % 400 == 0){ //平闰年判断算法
           System.out.println(years+"年是闰年"); 
          } 
      else { 
          System.out.println(years+"年是平年"); 
        } 
      } 
     }
    catch(Exception e){ //异常处理
  		System.out.println("请正确输入");
  		e.printStackTrace(); //打印异常信息在程序中出错的位置及原因
    }
   } 
} 

一般函数/方法:

import java.util.Scanner;

public class Bissextile { 
	boolean bissextile(int year){ //创建boolean类型的方法
		if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){ //平闰年判断算法
			return true;
		}
		else{
			return false;
		}
	}
	public static void main(String[] args){
		Bissextile b=new Bissextile(); //创建对象
		Scanner input=new Scanner(System.in);//声明扫描仪变量 
		System.out.println("请输入年份");//系统提示输入年份
		try{
		while(true){ //不断读取用户输入的值
		int year1=input.nextInt();//取得下一行输入的年份值
		if (year1<1000||year1>9999){
			System.out.println("请输入大于1000小于9999的年份");
		}
		else if(b.bissextile(year1)){ //对象调用bissextile方法
			System.out.println(year1+"是闰年");
		}
		else{
			System.out.println(year1+"是平年");
				}
			}
		}
		catch(Exception e){ //异常处理
  		   System.out.println("请正确输入");
  		   e.printStackTrace(); //打印异常信息在程序中出错的位置及原因
		}
	}
}

注解:第二种方法用到了面向对象的思想

相关文章

  • 关于@PostConstruct、afterPropertiesSet和init-method的执行顺序

    关于@PostConstruct、afterPropertiesSet和init-method的执行顺序

    这篇文章主要介绍了关于@PostConstruct、afterPropertiesSet和init-method的执行顺序,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • 一文搞懂Java中的抽象类和接口到底是什么

    一文搞懂Java中的抽象类和接口到底是什么

    在类中没有包含足够的信息来描绘一个具体的对象,这样的类称为抽象类,接口是Java中最重要的概念之一,它可以被理解为一种特殊的类,不同的是接口的成员没有执行体,是由全局常量和公共的抽象方法所组成,本文给大家介绍Java抽象类和接口,感兴趣的朋友一起看看吧
    2022-04-04
  • SpringBoot解决BigDecimal传到前端后精度丢失问题

    SpringBoot解决BigDecimal传到前端后精度丢失问题

    这篇文章将通过示例详细为大家介绍SpringBoot如何解决BigDecimal传到前端后精度丢失问题,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-06-06
  • spring @Transactional注解中常用参数详解

    spring @Transactional注解中常用参数详解

    这篇文章主要介绍了spring @Transactional注解中常用参数详解,事物注解方式: @Transactional,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2024-02-02
  • Java线程池流程编排运用实战源码

    Java线程池流程编排运用实战源码

    这篇文章主要介绍了Java线程池流程编排运用实战源码,就在流程引擎的基础上运用 ThreadPoolExecutor,使用线程池实现 SpringBean 的异步执行
    2022-03-03
  • Spring Cloud中各组件超时总结

    Spring Cloud中各组件超时总结

    在大家学习spring cloud的时候组件是必不可少的一部分,下面这篇文章主要给大家介绍了关于Spring Cloud中各组件超时的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-11-11
  • 深入探讨Java内存区域

    深入探讨Java内存区域

    本篇文章对Java内存区域的使用进行了详细的介绍,内容很全面,需要的朋友可以参考下
    2015-07-07
  • 如何获取Maven项目的版本号

    如何获取Maven项目的版本号

    最近需要在项目中获取项目的版本号,最笨的方法莫过于硬编码一个版本号,当然之前我也是这么干的。不过闲下来的时候突发奇想Spring Boot项目中pom.xml定义的版本号(也就是project.version的值)能不能通过API获得呢?于是利用摸鱼的时间研究了这种无聊透顶的东西。
    2021-05-05
  • 基于Spring Web Jackson对RequestBody反序列化失败的解决

    基于Spring Web Jackson对RequestBody反序列化失败的解决

    这篇文章主要介绍了基于Spring Web Jackson对RequestBody反序列化失败的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • spring boot使用thymeleaf模板的方法详解

    spring boot使用thymeleaf模板的方法详解

    thymeleaf 是新一代的模板引擎,在spring4.0中推荐使用thymeleaf来做前端模版引擎。下面这篇文章主要给大家介绍了关于spring boot使用thymeleaf模板的方法,文中通过示例代码介绍的非常详细,需要的朋友们下面来一起看看吧。
    2017-07-07

最新评论