給定一個(gè)年份,判斷是否是閏年。條件為:(推薦:java視頻教程)
A:能被4整除,并且不能被100整除。或者
B:能被400整除。
分析:
首先題目中的A與B為兩個(gè)判斷閏年為真的選項(xiàng),且屬于“非A則B”的情況,在這里往往很容易想到如下結(jié)構(gòu)來解決此問題
if(判斷條件A成立){ 表達(dá)式1(為閏年) } else if(判斷條件B成立){ 表達(dá)式1(為閏年) }
這里存在一個(gè)隱含結(jié)果,是如果不是閏年,應(yīng)該怎么辦?
其實(shí)也很簡單,就在原有的結(jié)構(gòu)
if(判斷條件A成立){ 表達(dá)式1(為閏年) } else if(判斷條件B成立){ 表達(dá)式1(為閏年) }
后面加一個(gè)else{(不是閏年應(yīng)該怎么辦)}的語句,看似添加了一個(gè)很簡單的語句,但正是因?yàn)檫@條語句,才使得整個(gè)程序變的完整。
示例:
我們先將未加上最后一條else語句的源程序?qū)懗觯?000年和2001年來測試,按照if..else if..結(jié)構(gòu)寫出源代碼如下:
package com.tencentos; import java.util.Scanner; public class Week1homework1 { public static void main(String[] args) { Scanner scan=new Scanner(System.in); System.out.print("Plese input the year:"); int year=scan.nextInt(); if(year%4==0 && year%100!=0){ System.out.print("Congratulation! It's the leap year!"); }else if(year%400==0){ System.out.print("Congratulation! It's the leap year!"); } scan.close(); } }
當(dāng)輸入“2000”時(shí),一切如我們所愿,控制框內(nèi)彈出的反饋正是我們想要的,2000年也確實(shí)是閏年。