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