> 文档中心 > Java 给出程序让用户输入一个年份,然后判断它是否为闰年。

Java 给出程序让用户输入一个年份,然后判断它是否为闰年。

要点提示:如果某年可以被4整除而不能被100整除,或者可以被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:20082008 is a leap year? true
Enter a year:20102010 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");}}}

输出

Enter a year:20082008 is a leap year
Enter a year:20102010 is an ordinary year

字库吧