java编译 有if但是没有else

publicclassTest4{publicstaticvoidmain(String[]args){intsum=0;for(intyear=1900;year<=2... public class Test4{ public static void main(String[] args){ int sum=0; for(int year=1900;year<=2018;year++){ if(year%4==0&&year%100!=0||year%400==0){ sum+=366; }else{ sum+=365; } } for(int yue=1;yue<=4;yue++){ if(yue==2){ if(2018%4==0&&2018%100!=0||2018%400==0){ sum+=29; }else{ sum+=28; }else { if(yue==1||yue==3){ sum+=31; }else{ sum+=30; }} } }}} 展开
 我来答
加百列在微笑
2018-01-09 · TA获得超过634个赞
知道小有建树答主
回答量:518
采纳率:0%
帮助的人:142万
展开全部

大括号的问题。

你把代码括号对齐了写,按照下面的格式:

public static void main(String[] args) {
    if ( XXXX ) {
        if (XXXX) {
            XXXX
        }
    } else {
        for (XXXX) {
            if (XXXX) {
                XXXX
            } else {
                XXXX
            }
        }
    }
}

你会发现你的括号跟你想要的逻辑对不上,新手建议详读阿里巴巴的java开发手册,养成良好的编程习惯。

匿名用户
2018-01-09
展开全部
for(int yue=1;yue<=4;yue++){
if(yue==2){
if(2018%4==0&&2018%100!=0||2018%400==0){
sum+=29;
}else{
sum+=28;
}else {
if(yue==1||yue==3){
sum+=31;
}else{
sum+=30;
}
}
}
}

你把括号对应打清楚就发现问题了,注意你有两个连续的else这是不对,如果要用两个else 应该第一else改为用else if(条件)

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
saber丶crazy丶
2018-01-09
知道答主
回答量:3
采纳率:0%
帮助的人:2161
展开全部
最后那个if(yue==1||yue==3)前面的else,放在下一个}之后就好了,把代码复制到eclipse上面格式化一下就看得出。。。有一个if接了两个else
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式