Java判断是否为闰年
题目:
判断一个输入的整数是否为闰年?
1.需要对输入的数据类型进行验证
2.支持多次输入和结束符号判断,例如输入q代表退出程序。
分析:
闰年的判断规则如下:
(1)若某个年份能被4整除但不能被100整除,则是闰年
(2)若某个年份能被400整除,则也是闰年。
实现:
package com.dylan.practice.interview;
import java.util.Scanner;
/**
* 判断闰年
*
* @author xusucheng
* @create 2018-02-27
**/
public class LeapYearTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String input = "";
int year;
System.out.println("请输入一个年份:");
while (true) {
input = sc.next();
if("q".equals(input.toLowerCase())){
break;
}
try {
year = Integer.parseInt(input);
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
System.out.println(year + "是闰年!");
} else {
System.out.println(year + "不是闰年!");
}
} catch (NumberFormatException e) {
System.out.println("请输入一个正整数!");
}
}
System.out.println("程序运行结束!");
}
}
调试:
请输入一个年份:
1
1不是闰年!
123
123不是闰年!
sdf
请输入一个正整数!
112
112是闰年!
1900
1900不是闰年!
20000
20000是闰年!
q
程序运行结束!