输入月份与年份,判断所输入的月份有多少天。
switch支持和不支持的类型
支持的类型
- int 类型
- short 类型
- byte 类型
- char 类型
- enum (枚举)类型 (java5.0 之后支持)
- String (java7.0之后支持)
不支持的类型
- long 类型
- boolean 类型
- float 类型
- double 类型
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
System.out.println("请输入年份: ");
int year=sc.nextInt();
System.out.println("请输入月份: ");
int month=sc.nextInt();
sc.close();
if(month<=0||month>12) {
System.out.println("你输入的月份有误,请重新输入...");
}
else {
int days=switch(month) {
case 1,3,5,7,8,10,12->31;
case 4,6,9,11->30;
default ->
year%4==0&&year%100==0||year%400!=0 ?29:28;
};
System.out.printf("%d年%d月有%d天",year,month,days);
}
}
}
结果如下
备注:
java 13 之后的 switch 语句支持表达式形式。