所谓闰年,就是指 2 月有 29 天的那一年。闰年同时满足以下条件:

● 年份能被 4 整除。

●年份若是 100 的整数倍,须被 400 整除,否则是平年。

例如,1900 年能被 4 整除,但是因为其是 100 的整数倍,却不能被 400 整除,所以是平年;而 2000 年就是闰年;1904 年和 2004 年、2008 年等直接能被 4 整除且不能被 100 整除,都是闰年;2014 是平年。

下面综合本章学习的知识来编写一个判断闰年的案例,其主要功能如下:

●判断用户输入的年份是不是闰年。

●根据年份和月份输出某年某月的天数。

实现步骤分为以下几步:

(1) 新建一个类并在该类中导入需要的 java.util.Scanner 类,同时需要创建该类的入口方法 main(),其实现代码如下import java.util.Scanner;

public class Test27

{

public static void main(String[] args)

{

// 在这里编写其他代码

}

}

(2) 在 main() 方法中编写 Java 代码,获取用户输入的年份和月份,其实现代码如下:Scanner sc=new Scanner(System.in);

System.out.println("请输入年份(注: 必须大于 1990 年):");

int year=sc.nextInt();

System.out.println("请输入月份:");

int month=sc.nextInt();

(3) 根据用户输入的年份,判断该年份是闰年还是平年,其实现代码如下:boolean isRen;

if((year%4==0&&year%100!=0)||(year%400==0))

{

System.out.println(year+"闰年");

isRen=true;

}

else

{

System.out.println(year+"平年");

isRen=false;

}

(4) 根据用户输入的月份,判断该月的天数,其实现代码如下:int day=0;

switch(month)

{

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

day=31;

break;

case 4:

case 6:

case 9:

case 11:

day=30;

break;

default:

if(isRen)

{

day=29;

}

else

{

day=28;

}

break;

}

System.out.println(year+"年"+month+"月共有"+day+"天");

(5) 该程序代码执行结果如下所示:请输入年份(注: 必须大于 1990 年):

2018

请输入月份:

2

2018平年

2018年2月共有28天

再次运行main方法请输入年份(注: 必须大于 1990 年):

2000

请输入月份:

2

2000闰年

2000年2月共有29天

完整代码import java.util.Scanner;

public class Test27 {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner sc=new Scanner(System.in);

System.out.println("请输入年份(注: 必须大于 1990 年):");

int year=sc.nextInt();

System.out.println("请输入月份:");

int month=sc.nextInt();

boolean isRen;

if((year%4==0&&year%100!=0)||(year%400==0))

{

System.out.println(year+"闰年");

isRen=true;

}

else

{

System.out.println(year+"平年");

isRen=false;

}

int day=0;

switch(month)

{

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

day=31;

break;

case 4:

case 6:

case 9:

case 11:

day=30;

break;

default:

if(isRen)

{

day=29;

}

else

{

day=28;

}

break;

}

System.out.println(year+"年"+month+"月共有"+day+"天");

}

}

JAVA中判断是否为闰年的条件是什么_Java判断是否为闰年相关推荐

  1. [转载] Java中如何引用另一个类里的集合_Java工程师面试题整理

    参考链接: 在Java中将预定义的类名用作类或变量名 花了一星期把学过的都整理一遍 尽量易懂,从基础到框架 最新版大厂面经汇总出炉,持续更新中 汇总完了上传网盘,设计到后端架构师的一切知识 如果没更新 ...

  2. java中存在对多个对象加锁的情况_Java对象锁和类锁全面解析(多线程synchronized关键字)...

    最近工作有用到一些多线程的东西,之前吧,有用到synchronized同步块,不过是别人怎么用就跟着用,并没有搞清楚锁的概念.最近也是遇到一些问题,不搞清楚锁的概念,很容易碰壁,甚至有些时候自己连用没 ...

  3. Java中的byte类型是有符号的吗_JAVA中byte类型的介绍。 谢谢

    展开全部 Java也提供62616964757a686964616fe59b9ee7ad9431333431366265了一个byte数据类型,并且是基本类型.java byte是做为最小的数字来处理 ...

  4. java 前置零_程序员面试必考题(二十二):Java中的前置条件和后置条件

    转载自微信公众账号:开点工作室(ID:kaidiancs) Java程序中,程序员可以使用前置条件与后置条件,来控制是否执行方法及判断方法是否正确执行. 前置条件(precondition)是一条条件 ...

  5. Java中List集合过滤出符合条件的List元素集合

    在项目开发的过程中,我们经常会对List集合进行按条件的过滤,筛选出我们想要的结果或者是符合项目需求的数据.比如:我们有一批学生对象,每个学生都有自己的年龄属性,但是我们想要筛选出这一批学生中年龄为2 ...

  6. java 三元 代替 if_关于性能:Java中的三元运算符比“ if”条件快吗?

    本问题已经有最佳答案,请猛点这里访问. 我容易出现"如果条件综合症",这意味着我倾向于一直使用if条件. 我很少使用三元运算符. 例如: //I like to do this: ...

  7. JAVA中计算五子棋平局的算法_输入五子棋棋盘判断输赢或平局—程序设计(C语言)...

    输入五子棋棋盘判断输赢或平局-程序设计(C语言) 输入五子棋棋盘判断输赢或平局-程序设计(C语言) 输入五子棋棋盘判断输赢或平局-程序设计(C语言) ??做这道题实在没有思路参考了这位作者的代码: h ...

  8. Java 中多态的概念以及前提条件

    多态的概念  * 一个事物在不同时刻的体现(堆内存中对象形式)  * 多态的前提条件:  * 1)必须有继承关系(继承的好处第三点作为多态的前提条件)  *     如果没有继承谈不上多态  * 2) ...

  9. java中主函数抛出的异常怎么解决_java – 从递归函数中抛出异常

    我为一个更大的应用程序构建了一个库/模块,它从函数中抛出异常.如果找不到文件或文件包含错误格式,则抛出Exeption. 该方法看起来像: Shape parse(String path) throw ...

最新文章

  1. 200多位专家热议“智慧城市” 建议尽快完善标准体系
  2. 论大脑的运行-万有引力模型
  3. Java 线程同步组件 CountDownLatch 与 CyclicBarrier 原理分析
  4. default argument given of parameter 的问题
  5. boost::binary_search相关的测试程序
  6. set python_使用dict和set
  7. jdbc java连接oracle_java连接oracle jdbc连接
  8. 开红数显示服务器为空,网维大师常见问题:图标空白或红号问号
  9. linux内核学习资料总结
  10. nginx 配置外网域名跳转到内网地址加端口的教程
  11. Android 视频压缩
  12. MySQL高级SQL语句
  13. OpenWRT - Makefile:31: *** missing separator. Stop.
  14. gnutls_handshake() failed: A TLS fatal alert has been received
  15. 游戏里的小哥哥小姐姐都是怎么来的?
  16. Struts2 自定义拦截器
  17. linux修改用户描述的命令,Linux修改用户信息(usermod)
  18. OKEx货币对价格数量长度及精度
  19. 无辜被黑 我在北大青鸟的真实工作经历(转帖)
  20. JAVA日记之SpringAOP_XML配置与注解开发 ----喝最烈的酒.

热门文章

  1. 门禁系统如何规避人脸识别数据使用风险?
  2. 联想G50-70装机过程
  3. alfresco 介绍 docker安装
  4. 有偿!!!比较急,求基于滑模观测器的开关磁阻电机的matlab仿真
  5. javacv之视频抽帧
  6. 财务上的预提、摊销、计提
  7. ui设计稿psd文件,前端怎么抠图,怎么高度还原ui稿-- pxcook像素大厨,
  8. 字节抖音大数据开发校招面经总结
  9. 比较全的jQuery网页验证码插件
  10. Amazon google、IBM、microsoft云计算主要平台及特点