我的作业给了我这个作业:
在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;
}
}
答案 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));
}