java作业,这一题怎么做?

/*求2008年8月8日至2019年6月6日有多少天。只能使用for循环、if_else和if()条件判断。*/(用其他的超出所学范围会被扣分)。怎么写?... /*求2008年8月8日至2019年6月6日有多少天。只能使用for循环、if_else和if()条件判断。*/
(用其他的超出所学范围会被扣分)。怎么写?
展开
 我来答
黎凡s
2019-10-25 · 穷则独善其身。。。。。。
黎凡s
采纳数:197 获赞数:364

向TA提问 私信TA
展开全部

刚帮忙改了一个,也是你这个题目,写的源码代码有问题,正好改改给你考过来(* ̄︶ ̄)

话说你们是认识的吗。。。。

// 申明一个整型变量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
展开全部
class CalculateDay {
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);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式