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;
}
} 计算输入月份的第一天是星期几这个算法是不是有错 错在哪里 谢谢了 只有这么多分了 展开
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;
}
} 计算输入月份的第一天是星期几这个算法是不是有错 错在哪里 谢谢了 只有这么多分了 展开
1个回答
展开全部
这个功能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()));//输出星期几
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询