永发信息网

java 求出当月天数和有几个星期天

答案:2  悬赏:10  手机版
解决时间 2021-05-07 20:20
如题,帮忙写个算法,先谢过!
最佳答案

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,一个月不就四个星期天或者五个星期谈吗?


害我费了这么多时间,哎~~

全部回答
public static void showDate() { Date date=new Date(); int year =date.getYear(); int month=date.getMonth()+1; int length=0; switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: length=31; break; case 4: case 6: case 9: case 11: length=30; break; case 2: if((year%4==0)&&(year%100!=0)||(year%400==0)) length=29; else length=28; } int sun=0; for(int i=1;i<=length;i++) { Date date1=new Date(year,month-1,i); int showWeek=date1.getDay(); if(showWeek==0||showWeek==6) { sun++; } } System.out.println("week:"+sun); System.out.println("length:"+length); }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么我的qq音乐播放不了?
全套纸袋生产设备要多少钱?
连花在哪里啊,我有事要去这个地方
这样的配置玩游戏很卡 至少得把什么换了?
马上就毕业,怎样才能让我们不分开呢?
谁能给我100个绝妙词语?
DNF一把加15的武器需要多少游戏币
QQ牧场有什么工能
听歌想起一个人的句子,哪句名言能体现认识一
这件裤子哪个网站有卖?
帅帅电器商行这个地址在什么地方,我要处理点
一个歌曲 啊啊啊啊啊啊啊的内个是什么? 高音
魔兽猎人带的奇美拉怎么加天赋
asp编程求助。
阿甘正传小说经典句子,有没有好看的关于律师
推荐资讯
dnf50传承左轮卖多少?
广联达图形算量软件如何应用
梦到参加葬礼
沈阳市社会科学界联合会地址在哪,我要去那里
腰酸有时做运动还会有点疼痛
老姚鲜鸡汤钟家村店在哪里啊,我有事要去这个
什么叫产品执行标准,企业产品执行标准怎样办
赢现金大奖得更名卡几率多大
木工图纸怎么看,木工图纸怎么看 给个教程
犬夜叉和杀生丸的父亲那么牛,怎么还是升天了
潸然泪下的潸是什么意思
看不到流星对着飞机许愿成么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?