判断闰年平年,并输出某月天数
题目
给定一个年份,判断是闰年还是平年,再给定一个月份,输出该月的天数。
分析
闰年的判断条件是:
- 能被4整除但不被100整除
- 能被400整除
代码
package practice;
import java.util.Scanner;
public class LeapYear {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入年份:");
int year = scanner.nextInt();
if(isLeapYear(year)){
System.out.println("该年为闰年");
}else{
System.out.println("该年为平年");
}
System.out.println("请输入月份:");
int month = scanner.nextInt();
int days;
while(month>12||month<1){
System.out.println("月份输入有误,请重新输入");
}
switch (month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:{
days = 31;
break;
}
case 4:
case 6:
case 9:
case 11:{
days = 30;
break;
}
default:{
if(isLeapYear(year)){
days = 29;
}else{
days = 28;
}
}
}
System.out.println("该月有"+days+"天");
}
public static boolean isLeapYear(int y){
if(y%4==0&&y%100!=0||y%400==0){
return true;
}else{
return false;
}
}
}