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

来源:6-1 什么是数组

梓鹏

2018-03-19 19:15

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回答

  • 疏月残影mi
    2018-03-19 19:33:34
    已采纳

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

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

    梓鹏

    非常感谢!刚刚可能专了牛角尖了

    2018-03-19 19:39:25

    共 1 条回复 >

  • qq_阿省_0
    2018-03-19 19:59:17
    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("不闰");
            }

    一样的道理

    梓鹏

    谢谢你(微笑?)

    2018-03-19 20:01:34

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165550 学习 · 17586 问题

查看课程

相似问题