闰年:1、可以被4整除而不能被100整除。2、或者可以被400整除。
方法一、可以使用下面的布尔判定某年是否为闰年:
boolean isLeapYear = (year % 4 == 0); // 闰年能被4整除
isLeapYear = isLeapYear && (year % 100 != 0); //闰年能被4整除,但不能被100整除
isLeaoYear = isLeapYear || (year % 400 ==0); //闰年可以被400整除
或者可以将这些表达式组合在一起,如下所示(核心算法):
isLeapYear = (year% 4 == 0 && year % 100!= 0) || (year % 400 == 0);
package Second;
import java.util.Scanner;
public class LeapYear {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter a year:");
int year = input.nextInt();
boolean isLeapYear = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
System.out.println(year + " is leap year? " + isLeapYear);
}
}
输出
Enter a year:2008 2008 is a leap year? true
Enter a year:2010 2010 is a leap year? false
方法二、用判断语句if(){}else{}编写程序:
package Second;
import java.util.Scanner;
public class LeapYear {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter a year:");
int year = input.nextInt();
if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
System.out.println(year + " is a leap year");
}else {
System.out.println(year + " is an ordinary year");
}
}
}
输出示例1:
Enter a year:2008 2008 is a leap year
输出示例2:
Enter a year:2010 2010 is an ordinary year