java 求出当月天数和有几个星期天
- 提问者网友:沦陷
- 2021-05-07 01:30
- 五星知识达人网友:渡鹤影
- 2021-05-07 02:44
import java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;
class Demo{
//返回当前年份
int getYear(){
Date date=new Date();
String year=new SimpleDateFormat("yyyy").format(date);
return Integer.parseInt(year);
}
//返回当前月份
int getMonth(){
Date date=new Date();
String month=new SimpleDateFormat("MM").format(date);
return Integer.parseInt(month);
}
//判断闰年
boolean isLeap(int year){
if(((year%100==0)&&year%400==0)||((year%100!=0)&&year%4==0))
return true;
else
return false;
}
//返回当月天数
int getDays(int year,int month){
int days;
int FebDay=28;
if(isLeap(year))
FebDay=29;
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;
case 2:
days=FebDay;break;
default:
days=0;break;
}
return days;
}
//返回当月星期天数
int getSundays(int year,int month){
int sundays=0;
SimpleDateFormat sdf=new SimpleDateFormat("EEEE");
Calendar setDate= Calendar.getInstance();
//从第一天开始
int day;
for(day=1;day<=getDays(year,month);day++){
setDate.set(Calendar.DATE,day);
String str=sdf.format(setDate.getTime());
if(str.equals("星期日")){
sundays++;
}
}
return sundays;
}
public static void main(String[] args){
Demo demo=new Demo();
System.out.println ("本月有"+demo.getDays(demo.getYear(),demo.getMonth())+"天");
System.out.println ("本月有"+demo.getSundays(demo.getYear(),demo.getMonth())+"个星期天");
}
}
次程序已经验证正确
如果看程序的话我自认为我的代码比楼上的好,而且楼桑有用到java API已经过时的方法
但是当写玩代码后去看了电脑下的时间,发现我好SB,一个月不就四个星期天或者五个星期谈吗?
害我费了这么多时间,哎~~
- 1楼网友:等灯
- 2021-05-07 03:23