82、Java程序判断某一年的某个月有多少天?

要求是这样,提示要求输入一串整数字符的字符串(YYYYMM)作为一个查看的年份和月份,判断一下这个月有多少个自然日,也即多少天。

如果数字的字符串超出限制或不合法,则输出错误提示,并提示重新输入,直到正确并计算结果。

Java程序判断某一年的某个月有多少天

工具/原料

  • 一台再正常不过的已经配置了java环境的电脑
  • 一款适合自己的开发集成环境,笔者自己用的是eclipse Kepler
  • 活跃的大脑,勤劳的双手

YYYYMM这个月有多少天?

  1. 第一个要考虑的问题,如何判断月份。

    我们会用一个switch语句区分大小月:

    一三五七八十腊,三十一天永不差。

    剩下的除了二月份需要判断平闰年之外都是三十天。

    如图:

    Java程序判断某一年的某个月有多少天
  2. 第二要考虑的问题,就是怎么判断平闰年。

    一个年份数可以被100整除的话,如果同时也可以被4整除才是闰年,否则的话ta是平年。

    一个年份数不能被100整除的话,如果ta此时可以被4整除也是闰年,否则的话ta是平年。

    如图:

    Java程序判断某一年的某个月有多少天
  3. 接下来,如果获得一个年份和月份的数字呢?

    这是我们今天的重头戏。

    我们需要做许多判断,这里,我们分很多步骤来详述。

    Java程序判断某一年的某个月有多少天
  4. 获取输入参数,这里用Scanner类的非静态nextInt()方法。

    Scanner sc = new Scanner(System.in);

    int number = sc.nextInt();

    Java程序判断某一年的某个月有多少天
  5. 但是,如果输入的是字母,或者位数不足,不符合YYYYMM格式,那不就麻烦了?所以,我们还需要加以判断。

    这里就不能直接从scanner里面获取数字了,我们要获取的是字符串,

    Scanner sc = new Scanner(System.in);

    String str = sc.nextLine();

    然后用正则表达式判断一下。

    if (!str.matches("^[1-9]{1}[0-9]{5}$")) {

       System.out.println("Not an integer number! Input again:");

    }

    Java程序判断某一年的某个月有多少天
  6. 上一步骤中的正则我们偷了一点儿小懒,是为了让大家更容易理解。

    所以,这里我们还缺少对月份的判断。很简单,如图:

    Java程序判断某一年的某个月有多少天
  7. 最后,我们写一个main方法测试一下,看看是否是咱预期的效果。

    String number = scannerNumber();

    int year = Integer.parseInt(number.substring(0, 4));

    int month = Integer.parseInt(number.substring(4));

    System.out.println("this is month has " + daysOfThisMonth(year, month));

    END
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值