这是一个很简单的例子,主要是记录一下自己的学习过程。拿到这个问题,我们的第一反应就是判断一下年份和月份,然后用if-else或者switch语句匹配输出,实现的方法很简单,但是代码的重复率很高,程序的性能也不是很好,在此就不赘述了。今天主要想用数组来实现这个程序,代码如下:
public class GetMonthDays {
public static int IsLeapYear(int year) {
if ((0 == year % 4 && 0 != year % 100) || (0 == year % 400)) {
return 1;
}
return 0;
}
static int monthdays[][] = {
{ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 },
{ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 } };
public static void main(String[] args) {
int year,month;
System.out.println("Plase input the year and month:");
Scanner sc = new Scanner(System.in);
year = sc.nextInt();
month = sc.nextInt();
System.out.println(monthdays[IsLeapYear(year)][month - 1]);
sc.close();
}
}