为了账号安全,请及时绑定邮箱和手机立即绑定

运行后最后有个13月1日,怎么去掉

for(int i=1,j=1;j<=12;i++){

switch(j){

case 1:case 3:case 5:case 7:case 8:case 10:case 12:

if(i>31){j=j+1;i=1;};break;

case 2:

if(i>28){j=j+1;i=1;};break;

case 4:case 6:case 9:case 11:

if(i>30){j=j+1;i=1;};break;

};System.out.println(j+"月"+i+"日");

}


正在回答

2 回答

因为运行到12月31日时,执行if(i>31){j=j+1;i=1;};break;导致j=13 , i=1。所以可以在输入前加一个判断语句

if(j<13){
   System.out.println(j+"月"+i+"日");
   }

不过话说我的入门第一季4-9貌似没有这个题目

3 回复 有任何疑惑可以回复我~
#1

慕田峪4398233 提问者

这是我自己试着练了个日历
2016-04-26 回复 有任何疑惑可以回复我~
#2

慕田峪4398233 提问者

非常感谢!
2016-04-26 回复 有任何疑惑可以回复我~
#3

qq_自余自乐_0 回复 慕田峪4398233 提问者

哦哦 前面加个判断应该是正确的 我试了下
2016-04-26 回复 有任何疑惑可以回复我~

for(int i=1,j=1;j<=12,i<=31;i++){

    switch(j){

        case 1:case 3:case 5:case 7:case 8:case 10:

            if(i>31)

                {j=j+1;i=1;};

            break;

        case 2:

            if(i>28)

                {j=j+1;i=1;};

            break;

        case 4:case 6:case 9:case 11:

            if(i>30)

                {j=j+1;i=1;};

            break;

        case 12:

            break;

    };

    System.out.println(j+"月"+i+"日");

}


0 回复 有任何疑惑可以回复我~
#1

慕田峪4398233 提问者

运行出错啊for(int i=1,j=1;j<=12,i<=31;i++){这一句里面出错了
2016-04-26 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

运行后最后有个13月1日,怎么去掉

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信