java 简单日历作业 帮忙找下 错误在哪里

代码输出之后星期比电脑里日历早了一天例如:代码输出开始2017.2月1号是星期二而电脑上的日历是星期三代码地址链接:https://pan.baidu.com/s/1jI... 代码输出之后 星期比电脑里日历早了一天
例如: 代码输出 开始 2017.2月1号 是星期二
而电脑上的日历是 星期三

代码地址链接: https://pan.baidu.com/s/1jIkbUJG 密码: tjv3
展开
 我来答
heshibo111
2017-02-24 · TA获得超过131个赞
知道小有建树答主
回答量:117
采纳率:100%
帮助的人:40.5万
展开全部

久就旧1O
2017-02-24 · TA获得超过1275个赞
知道小有建树答主
回答量:709
采纳率:75%
帮助的人:207万
展开全部

说错了,你看看关键地方  

for (int C = 1; C < Y; C++) {   // 这里没有等于号 C<=Y
if (C == 2) {
if ((T % 4 == 0 && T % 100 != 0) || T % 400 == 0) {
B += 29;
} else {
B += 28;
}
} else {
if (C == 4 || C == 6 || C == 9 || C == 11) {
B += 30;
} else {
B += 31;
}
}
}
// B计算是年月之前的天数, D表示该月第一天是周几
        final int D = (B+1) % 7;
System.out.println("日\t一\t二\t三\t四\t五\t六");
for (int E = 1; E <= D; E++) {     
         System.out.print("\t");
}

最后那个打印函数有问题,修正如下(B%7  换成 (B+1)%7):

for (int F = 1; F <= P; F++) {
final int delta = (B+1) % 7;
if (delta == 6) {
System.out.print(F + "\n");
} else {
System.out.print(F + "\t");
}
B++;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-02-24
展开全部
贴图不好跑
更多追问追答
追问
代码 超出数字限制了  你有QQ或者微信吗 我给你发过去 邮111箱也行
代码 超出数字限制了  你有QQ或者微信吗 我给你发过去 邮111箱也行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式