
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class LeapYear {
public static void main(String[] args) {
//读取用户输入数据
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("please input a year from -9999 to 9999:");
String text="";
try {
text=in.readLine();
}catch (Exception e) {
e.printStackTrace();
}
//判断输入过大数据的情况
if (text.length()>5) {
System.out.println("input data should be not more than 5 chars");
text="a";
} else {
//判断输入是否为整数
Pattern pattern = Pattern.compile("^(0|[1-9][0-9]*|-[1-9][0-9]*)$");
Matcher isNum = pattern.matcher(text);
if (isNum.matches()) {
//闰年判断,忽略3200/6400/9600的特殊情况
int year = Integer.parseInt(text);
if (year == 0) {
System.out.println("year cannot be 0");
} else if (year>0) {
if (year>9999) {
System.out.println("year input should be not more than 9999");
} else {
System.out.println((year%4==0 && year%100!=0) || (year%400==0) ?
year+" is leap year" : year+" is common year");
}
} else {
System.out.println(((year+1)%4==0 && (year+1)%100!=0) || ((year+1)%400==0) ?
year+" is leap year" : year+" is common year");
}
} else {
System.out.println("input data is not an integer");
}
}
}
}