1. 程式人生 > >Java輸入你一年份,判斷是閏年還是平年

Java輸入你一年份,判斷是閏年還是平年

------Java培訓、Android培訓、iOS培訓、.Net培訓、期待與您交流! -------
/*
 * 本人是剛剛才接觸java,這些是我學習嘗試寫的一些java程式碼。如果有錯誤的地方,還請指教。
 * 程式碼已經執行過,並且能夠實現功能。
 * 我的一些系統配置:JDK使用的是1.7版本。開發工具eclipse。
 * 
 * 
 * 要求:使用者輸入一個年份,系統判斷是不是閏年。結果列印輸出。
 * 
 * 判斷方法1:能被4整除但是不能被100整除,或者能被400整除的年份,就是閏年。
 * 
 * 判斷方法2:通過Calendar中的方法,來獲取這一年二月的的總的天數,如果是28就是平年,如果是29就是閏年。
 * 
 * 為了方便播客上發表,本次所有方法都寫在一個類中。
 * 
 */

//建立一個包,用於儲存程式
package code;
//這裡導包就全部匯入,因為需要輸入Scanner和Calendar,也可以單個匯入。
import java.util.*;

public class JudgeBissextile {

	
	public static void main(String[] args) {
		//	建立一個Scanner物件
		Scanner sc = new Scanner(System.in);
		System.out.println("----->輸入年份:");
		int year = sc.nextInt();
		//第一種呼叫方式,直接在輸出語句中完成全部操作,使用三目運算。
		System.out.println(year+(method_1(year)?"是閏年":"是平年"));
		//這個判斷方式等同與上面一種判斷方式,使用if-else語句。
		if(method_2(year))
			System.out.println(year +"是閏年");
		else
			System.out.println(year +"是平年");
	}
	
	/*
	 * 驗證方法1:通過判斷能被4整除但是不能被100整除,或者能被400整除的年份,來判斷閏年。
	 * 傳入引數:int year ,傳入一個年份值。
	 * 返回值:返回值為boolean型別,當返回true時,為閏年,否則為平年。
	 * 
	 * 這裡使用三目運算子運算,並且直接return返回值。	  
	 */
	public static boolean method_1(int year){
		return ((year%4==0 && year%100!=0) || year%400==0) ? true : false;
	}
	
	/*
	 * 驗證方式2:通過獲取這一年二月份的最大值,來判斷是平年還是閏年。
	 * 傳入引數:int year ,傳入一個年份值
	 * 返回值:返回值為boolean型別,當返回true時,為閏年,否則為平年
	 * 
	 */
	public static boolean method_2(int year){
		//靜態方法,獲取Calendar的子類物件
		Calendar c = Calendar.getInstance();
		//呼叫set方法,設定時間到當前輸入的年份的3月1日。
		//java的時間月份預設從0開始計算。只有0-11月。
		c.set(year, 2, 1);
		//將時間往前移動一天,就是2月份的最後一天,通過獲取當前的值,就能確定二月份的最大值
		c.add(Calendar.DAY_OF_MONTH, -1);
		return (c.get(Calendar.DAY_OF_MONTH)==29) ? true : false;
		
	}
}


<span style="font-size:18px;"></span>
<img src="https://img-blog.csdn.net/20150109223005852" alt="" />


<a target=_blank target="_blank" href="http://download.csdn.net/detail/lmh820822/8346371">程式碼下載地址:</a>http://download.csdn.net/detail/lmh820822/8346371