蓝桥杯——BASIC-1——基础练习 闰年判断

举报
fightingn 发表于 2022/02/21 10:57:39 2022/02/21
【摘要】 问题描述:给定一个年份,判断这一年是不是闰年。当以下情况之一满足时,这一年是闰年:1. 年份是4的倍数而不是100的倍数;2. 年份是400的倍数。其他的年份都不是闰年。输入格式:输入包含一个整数y,表示当前的年份。输出格式:输出一行,如果给定的年份是闰年,则输出yes,否则输出no。数据规模与约定:1990 <= y <= 2050。代码如下:package day;import java...
基础练习 闰年判断(JAVA实现)
问题描述:

给定一个年份,判断这一年是不是闰年。

当以下情况之一满足时,这一年是闰年:

1. 年份是4的倍数而不是100的倍数;

2. 年份是400的倍数。

其他的年份都不是闰年。

输入格式:输入包含一个整数y,表示当前的年份。
输出格式:输出一行,如果给定的年份是闰年,则输出yes,否则输出no。
数据规模与约定:1990 <= y <= 2050。

本题要求判断输入的年份是否是闰年,只需要记得闰年的判断口诀:四年一闰,百年不润,四百年一润。

解释:年称末两位不是0(不是整百年),是4的整数倍,这样的年称是闰年,否则就是平年。年称末两位是0(是整百年),是400的整数倍,这样的年称是闰年,否则就是平年。
举例:2020年,2012÷4=503,整除,所以,2012年是闰年。
2021年,2013÷4=503……1,不能整除,所以,2013年是平年。
1900年,1900÷4=475,但是1900÷400=4……300,不能整除,所以,1900年是平年。
2000年,2000÷4=500,2000÷400=5,整除,所以,2000年是闰年。

假设y代表年份,用代码表述就是y%4 == 0&&y%100!=0||y%400==0,所以这个就是判断的条件。

代码如下:
package day;
import java.util.Scanner;
public class day3 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //基础练习 闰年判断
        System.out.println("输入你想查询的年份:");
        Scanner sc = new Scanner(System.in);
        Integer year = sc.nextInt();
        boolean b=(year%4==0&&year%100!=0)||year%400==0;
        if (b) {
            System.out.println("yes");
        }else {
            System.out.println("no");
        }
    }
}
样例输入:2013
样例输出:no
运行结果如下:

Snipaste_2022-02-21_10-51-24.png


样例输入:2012
样例输出:yes
运行结果如下:

Snipaste_2022-02-21_10-50-24.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。