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("该年不是闰年"); } } }
四年一闰,百年不闰,四百年再闰
(year%4==0&&year%100!=0)||year%400==0
else if 里面的条件错了age1和age2互换一下
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("不闰"); }
一样的道理