在这里,我们将解释如何编写一个Java程序来检查一个年份是否是闰年。所以我们首先需要了解什么是闰年以及如何检查一个年份是否是闰年。
要理解这个例子,您应该具备以下Java编程知识:
一个普通年份有365天。闰年是指有366天的年份。它大多每四年出现一次。如果一个年份有2月29日,那么这个年份就是闰年。
例如:2020
例如:2000
所以我们需要声明一个带有公共修饰符的类LYear 。然后从用户读取年份并将其保存到变量yr中。然后使用if语句检查yr % 4是否等于零。如果等于零,则再检查yr % 100是否等于零以及yr % 400是否等于零。如果这两个条件都为真,则将flag设置为true。否则将flag设置为false。如果yr % 4等于零且yr % 100不等于零,则将flag设置为true,否则将flag设置为false。然后我们需要检查flag的值。如果flag等于true,则显示该年份是闰年。如果flag等于false,则显示该年份不是闰年。
步骤1:声明带有public 修饰符的类 LYear
步骤2:打开main() 函数开始程序,Java程序执行从main()开始
步骤3:声明变量yr为整数类型,flag为布尔类型。并将flag的值初始化为false。
步骤4:使用扫描器从用户读取年份并存入变量yr中。
步骤5:检查if yr % 4是否等于零,如果为真则执行步骤6。否则执行步骤8。
步骤6:检查if yr % 100是否等于零。如果不等于零,则将flag 设置为true。
步骤7:如果yr % 100等于零,则检查yr % 400是否等于零,如果为真则将flag设置为true,否则将flag设置为false。然后转到步骤9。
步骤8:如果yr % 4不等于零,则将flag设置为false。
步骤9:如果flag等于true,则显示该年份是闰年。否则显示该年份不是闰年。
import java.util.Scanner;
public class LYear {
public static void main(String[] args) {
int yr;
boolean flag = false;
Scanner sc = new Scanner(System.in);
System.out.print("Enter the year : ");//Read the Year from the user.
yr = sc.nextInt();
if(yr % 4 == 0)
{
if( yr % 100 == 0)
{
// if the year is divisible by 400 then it is leap year.
if ( yr % 400 == 0)
flag = true;
else
flag = false;
}
else
flag = true;
}
else
flag = false;
if(flag==true)
System.out.println("It is a leap year!");
else
System.out.println("It is not a leap year!");
}
}
Enter the year : 2000 2000 is a leap year! Enter the year : 2001 2001 is not a leap year!