如何使用java返回其月份的天数

时间:2015-06-03 06:28:53

标签: java

我的作业给了我这个作业:

  

在java中创建一个接受无符号整数n的程序,并根据月份返回天数。例如,如果n = 6,则返回值为30,因为6月的第6个月有30天。假设没有闰年。

这是我的尝试,但它没有按预期工作。任何人都可以指点我的原因。

public class daysmonths {
   public static void main(String []args) {
     for (int i = 1; i<=12; i++){
       int e = f(i);
       System.out.println(i + " = " + e + " days ");
   }
}   
    public static int f(int i){
       if ((i == 1)|(i == 3)|(i == 5)|(i == 7)|(i == 8)|(i == 10)|(i == 12))
         return 31;
       else if ((i == 4)|(i == 6)|(i == 9)|(i == 11))
         return 30;
       else
         return 28;             
}

}

1 个答案:

答案 0 :(得分:0)

下面的代码使用java Calendar类,将月份设置为输入月份,并通过getActualMaximum()方法获取其最大日期。此外,它将在闰年中返回29。

public static void main(String args[]){
        int month = 6;
        Calendar cal  = Calendar.getInstance();
        cal.set(Calendar.MONTH, month-1);
        System.out.println(cal.getActualMaximum(Calendar.DATE));
    }