我正在尝试编写一个循环,它将从我的switch语句中获取其值。我希望它按顺序打印出各自的日期,例如: 1/1 1/2 1/3 ... 12/31
我试图自己编写,但我不完全确定如何按顺序将这些月份分配给我在switch语句中的3种情况。
以下是我正在使用的switch语句:
int month = 0;
int yearInt = year;
int totalDays = 0;
switch (month) {
case 1:
totalDays = 30;
break;
case 2:
if (((yearInt % 4 == 0) && !(yearInt % 100 == 0))
|| (yearInt % 400 == 0))
totalDays = 29;
else
totalDays = 28;
break;
default:
totalDays = 31;
break;
答案 0 :(得分:0)
喜欢这个? 1月假设为1
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
totalDays = 31;
break;
case 2:
if (((yearInt % 4 == 0) && !(yearInt % 100 == 0))
|| (yearInt % 400 == 0))
totalDays = 29;
else
totalDays = 28;
break;
default:
totalDays = 30;
break;
请注意,我使用的直通式语法有时被认为是有害的
答案 1 :(得分:0)
您也可以使用内置方法获得所需的结果:
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, yearInt);
c.set(Calendar.MONTH, month);
int totalDays = c.getActualMaximum(Calendar.DAY_OF_MONTH);
注意:month
的值从0
开始(1月为0
,2月为1
。)。