java作业,这一题怎么做?
(用其他的超出所学范围会被扣分)。怎么写? 展开
刚帮忙改了一个,也是你这个题目,写的源码代码有问题,正好改改给你考过来(* ̄︶ ̄)
话说你们是认识的吗。。。。
// 申明一个整型变量sum,赋值为0
int startY=2008;//年
int startM=8;//月
int startD=8;//日
int endY =2019;
int endM =6;
int endD =6;
int sum = 0;
//根据年份-1计算总时间
for (int a = startY; a < endY; a++) {
if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0) {
sum += 366;
} else {
sum += 365;
}
}
//减去开始年份过去的时间
for (int am = 1; am < startM; am++) {
if (am == 2) {
if (startY % 4 == 0 && startY % 100 != 0 || startY % 400 == 0) {
sum -= 29;
} else {
sum -= 28;
}
} else {
if (am == 4 || am == 6 || am == 9 || am == 11) {
sum -= 30;
} else {
sum -= 31;
}
}
}
sum-=startD;
//加上结束年份过去的时间
for (int b = 1; b < endM; b++) {
if (b == 2) {
if (endY % 4 == 0 && endY % 100 != 0 || endY % 400 == 0) {
sum += 29;
} else {
sum += 28;
}
} else {
if (b == 4 || b == 6 || b == 9 || b == 11) {
sum += 30;
} else {
sum += 31;
}
}
}
sum += endD;/* 再加上剩余的天数 */
System.out.printf("%d年%d月%d日到%d年%d月%d日有%d天",startY,startM,startD,endY,endM,endD,sum);
}
2019-10-25
public static void main(String[] args) {
// 先计算2008/8/8到2019/8/8这几年之间的总天数 再减去 2019/6/6到2019/8/8这几个月的天数
int total = 0;
for (int year = 2008; year < 2019; year++) {
total += (year % 4 == 0 && year % 100 != 0) || year % 400 == 0 ? 366 : 365;
}
// 减去6月6日到8月6日的天数 6,7,8这三个月只有6月是30天
for (int month = 6; month < 8; month++) {
total -= month == 6 ? 30 : 31;
}
// 减去8月6日到8月8日的天数
total -= 2;
System.out.println(total);
}
}