问题1:2015-3-2 距离 1979-12-15 多少天?
计算有相差多少天可以用Data类,但由于Data类会有时区上的问题,所以自己创建计算方法
public class DataCompute {
static int day_count(int year1,int month1,int day1,
int year2,int month2,int day2) {
return get_days(year2,month2,day2) -
get_days(year1,month1,day1);
}
static int get_days(int year,int month,int day) {
int[] M = {0,31,28,31,30,31,30,31,31,30,31,30,31};
if(year%4==0 && year%100!=0 || year%400==0) M[2]++;
int sum = 0;
for(int i=1;i<year;i++) {
sum += 365;
}
if(year%4==0 && year%100!=0 || year%400==0) {
sum ++;
}
for(int i=1;i<month;i++) {
sum += M[i];
}
sum += day;
return sum;
}
public static void main(String[] args) {
System.out.println(day_count(1979,12,15,2015,3,2)); //12852
}
}
问题2:1949年的国庆节(10月1日)是星期六。
今年(2012)的国庆节是星期一。
那么,从建国到现在,有几次国庆节正好是星期日呢?
只要答案,不限手段!
可以用windows日历,windows计算器,Excel公式,。。。。。
当然,也可以编程!
public class Sunday {
//365%7=1 366%7=2
static int isLeapYear(int year) {
int day = 1;
if(year%4==0 && year%100!=0 || year%400==0) {
day++;
}
return day;
}
public static void main(String[] args) {
int a = 6;
int count = 0;
for(int i=1950; i<2012; i++) {
a += isLeapYear(i);
if(a%7==0) {
count ++;
}
}
System.out.println(count);//9
}
}