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

Java,这个年份的代码,1900不是闰年,2016是闰年,有点专牛角尖了,哪位大神指点一下啊???

package cap1;
import java.util.Scanner;
public class HelloWorld {
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		System.out.println("请输入:");
		int num=input.nextInt();
		int age1=num%4;
		int age2=num%100;
		int age3=num%400;
    	if(age3==0) {
		System.out.println("该年是闰年");
	}else if(age2==0||age1!=0) {
		System.out.println("该年是闰年");
	}else {
		System.out.println("该年不是闰年");
	}
	}
}


正在回答

2 回答

四年一闰,百年不闰,四百年再闰
(year%4==0&&year%100!=0)||year%400==0 

 else if 里面的条件错了age1和age2互换一下

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

梓鹏 提问者

非常感谢!刚刚可能专了牛角尖了
2018-03-19 回复 有任何疑惑可以回复我~
else if(age2==0||age1!=0)

这个条件有点问题,建议修改为

else if(age1==0 && age2!=0)

这样就可以了,也可以更加简单的限定为

 if ((age1==0 && age2!=0 )|| age3 ==0){     
        	System.out.println("闰");        	
        }
        else {
        	System.out.println("不闰");
        }

一样的道理

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

梓鹏 提问者

谢谢你(微笑?)
2018-03-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

Java,这个年份的代码,1900不是闰年,2016是闰年,有点专牛角尖了,哪位大神指点一下啊???

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