java日历程序中的一个问题,谢谢啦!!!!!

publicstaticintgetStartDay(intyear,intmonth,intWeekaday){intMonthdays=0;intSum;intWee... public static int getStartDay(int year, int month,int Weekaday) {
int Monthdays=0;
int Sum;
int Weekday;
for(int i=0;i<month;i++){
Monthdays+=getNumberOfDaysInMonth(0, i);
}
Sum=getTotalNumberOfDays(year)+Monthdays; 这句话是不是有问题,自己想了有一会儿了

Weekday=Sum % 7 + 1;//计算输入月份的第一天是星期几
if(Weekday==0){
Weekaday=0;
}

return Weekday ;
}

public static int getTotalNumberOfDays(int year) {
int years=year-1800;
int Toyear=1800;
int Totaldays=0;

while(Toyear<year){
if(isLeapYear(year)){
Totaldays=+366;
}
else
Totaldays=+365;
Toyear++;
}
return Totaldays;
}

public static int getNumberOfDaysInMonth(int year, int month) {
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;

case 2:
if(isLeapYear(year))
return 29;
else
return 28;

default:
return 30;
}
} 计算输入月份的第一天是星期几这个算法是不是有错 错在哪里 谢谢了 只有这么多分了
展开
 我来答
B2K1bonPplR
2013-09-22 · TA获得超过2049个赞
知道小有建树答主
回答量:1156
采纳率:72%
帮助的人:394万
展开全部

这个功能Java的Calendar类已经提供了。

    Calendar c = Calendar.getInstance();//取得当前日期
    c.set(Calendar.DAY_OF_MONTH, 1);//设为当前月的1号
    System.out.print(new SimpleDateFormat("yyyy-MM-dd").format(c.getTime()));
    System.out.println(c.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.LONG, Locale.getDefault()));//输出星期几

    c.set(Calendar.MONTH, 7);//设为8月1号
    System.out.print(new SimpleDateFormat("yyyy-MM-dd").format(c.getTime()));
    System.out.println(c.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.LONG, Locale.getDefault()));//输出星期几
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式