Java用do while 语句语句来输出1949-2006年所有年份中的闰年

首先题目中的A与B为两个判断閏年为真的选项且属于“非A则B”的情况,在这里往往很容易想到如下结构来解决此问题

其实想到这里就已经算是完成这道题的基本任务 也就是说当使用这种if..else if..基本的if语句是能解决这个问题的,但是出题人其实在这里是埋了一个陷阱这也是国内的学生一般会常常犯下的问題。也就是说在中国题目说什么,老师要求什么我们就写什么,解决什么问题完成了之后就OK了。

这里存在一个隐含结果是如果不昰闰年,应该怎么办

其实也很简单,就在原有的结构
后面加一个else{(不是闰年应该怎么办)}的语句看似添加了一个很简单的语句,但正是因為这条语句才使得整个程序变的完整。

我们先将未加上最后一条else语句的源程序写出用2000年和2001年来测试,按照if..else if..结构写出源代码如下:

當输入“2000”时一切如我们所愿,控制框内弹出的反馈正是我们想要的2000年也确实是闰年。

但是当我们输入“2001”时控制框会直接结束,沒有任何的反应这便是这道题的一个小陷阱。
于是我们在最后一个else...if...结构后多加一个else...结构如下
就可以解决上述问题,加上else...语句之后我們再将“2001”输入后,得到了我们想要的反馈如下

到这里就完成了整个题目要求的内容整个源程序代码如下:

发布了27 篇原创文章 · 获赞 16 · 訪问量 5万+

给定一个年份判断这一年是不昰闰年。

当以下情况之一满足时这一年是闰年:

1. 年份是4的倍数而不是100的倍数;

2. 年份是400的倍数。

其他的年份都不是闰年

输入包含一个整數y,表示当前的年份

输出一行,如果给定的年份是闰年则输出yes,否则输出no

说明:当试题指定你输出一个字符串作为结果(比如本题嘚yes或者no,你需要严格按照试题中给定的大小写写错大小写将不得分。

出现的问题:/ 和 % 符号弄混了

发布了65 篇原创文章 · 获赞 7 · 访问量 3万+

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

发布了48 篇原创文章 · 获赞 13 · 访问量 3万+

我要回帖

更多关于 while 语句 的文章

 

随机推荐