日撸Java三百行 day04(条件语句的应用-闰年的计算)

文章提供了两种Java函数来判断一个年份是否为闰年,基于能被4整除但不能被100整除,或能被400整除的条件。函数通过if-else逻辑进行计算,并在main方法中进行了测试,验证了不同年份的结果。
摘要由CSDN通过智能技术生成

1.闰年的判断条件

第一种:能被4整除但不能被100整除

(paraYear % 4 == 0) && (paraYear % 100 != 0)

第二种:能被400整除

(paraYear % 400 == 0)

两种情况合并起来,运用条件语句,可写出以下功能相同的两种函数

public static boolean isLeapYear(int paraYear) {
	if ((paraYear % 4 == 0) && (paraYear % 100 != 0) || (paraYear % 400 == 0)) {
		return true;
	} else {
		return false;
	} // Of if
}// Of isLeapYear
public static boolean isLeapYearV2(int paraYear) {
	if (paraYear % 4 != 0) {
		return false;
	} else if (paraYear % 400 == 0) {
		return true;
	} else if (paraYear % 100 == 0) {
		return false;
	} else {
		return true;
	} // Of if
}// Of isLeapYearV2

以上两种函数返回值都为布尔型

2.闰年的程序实现

package basic;

/**
 * The complex usage of the if statement.
 * 
 * @author Yunhua Hu yunhuahu0528@163.com.
 */

public class LeapYear {

	/**
	 *********************
	 * The entrance of the program.
	 *
	 * @param args Not used now.
	 *********************
	 */
	public static void main(String args[]) {
		// Test isLeapYear
		int tempYear = 2021;

		System.out.print("" + tempYear + " is ");
		if (!isLeapYear(tempYear)) {
			System.out.print("NOT ");
		} // Of if
		System.out.println("a leap year.");

		tempYear = 2000;

		System.out.print("" + tempYear + " is ");
		if (!isLeapYear(tempYear)) {
			System.out.print("NOT ");
		} // Of if
		System.out.println("a leap year.");

		tempYear = 2100;

		System.out.print("" + tempYear + " is ");
		if (!isLeapYear(tempYear)) {
			System.out.print("NOT ");
		} // Of if
		System.out.println("a leap year.");

		tempYear = 2004;

		System.out.print("" + tempYear + " is ");
		if (!isLeapYear(tempYear)) {
			System.out.print("NOT ");
		} // Of if
		System.out.println("a leap year.");

		// Test isLeapYearV2
		System.out.println("Now use the second version.");
		tempYear = 2021;

		System.out.print("" + tempYear + " is ");
		if (!isLeapYearV2(tempYear)) {
			System.out.print("NOT ");
		} // Of if
		System.out.println("a leap year.");

		tempYear = 2000;

		System.out.print("" + tempYear + " is ");
		if (!isLeapYearV2(tempYear)) {
			System.out.print("NOT ");
		} // Of if
		System.out.println("a leap year.");

		tempYear = 2100;

		System.out.print("" + tempYear + " is ");
		if (!isLeapYearV2(tempYear)) {
			System.out.print("NOT ");
		} // Of if
		System.out.println("a leap year.");

		tempYear = 2004;

		System.out.print("" + tempYear + " is ");
		if (!isLeapYearV2(tempYear)) {
			System.out.print("NOT ");
		} // Of if
		System.out.println("a leap year.");
	}// Of main

	/**
	 *********************
	 * Is the given year leap?
	 *
	 * @param paraYear The given year.
	 *********************
	 */
	public static boolean isLeapYear(int paraYear) {
		if ((paraYear % 4 == 0) && (paraYear % 100 != 0) || (paraYear % 400 == 0)) {
			return true;
		} else {
			return false;
		} // Of if
	}// Of isLeapYear

	/**
	 *********************
	 * Is the given year leap? Replace the complex condition with a number of if.
	 *
	 * @param paraYear The given year.
	 *********************
	 */
	public static boolean isLeapYearV2(int paraYear) {
		if (paraYear % 4 != 0) {
			return false;
		} else if (paraYear % 400 == 0) {
			return true;
		} else if (paraYear % 100 == 0) {
			return false;
		} else {
			return true;
		} // Of if
	}// Of isLeapYearV2

} // Of Class LearYear

输出结果:

注意使用source-format后注释格式可能会产生变化,记得检查修改.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值