【章老师的课程】检测闰年的程序

检测输入是否是闰年,要从以下几个方面测试:

1.输入合法性检测:

  首先确保输入的是数字,并且不能超过int型存储的长度。

2.逻辑检测:

  对于闰年的计算方式如下:

  4的倍数

  不是100的倍数,但是400的倍数

对于以上的检测可以使用两个函数进行检测

private boolean checkNum(char[] input) {

  for(int i = 0; i < input.length; ++i) {

    if((int)input[i] < 48 || (int)input[i] > 57)

      return false;

  }

  return true;

}

对于逻辑的检测:

private boolean checkYear(int input) {

  if(input % 4 == 0) {

    if(input % 100 == 0) {

      if(input % 400 == 0)

        return true;

      else return false;

    } else return true;

  } else return false;

}

主函数中先进行输入类型的检测,再进行逻辑检测

时间: 2024-08-03 15:28:54

【章老师的课程】检测闰年的程序的相关文章

【章老师的课程】软件开发与软件测试

一提起软件工程,给人的第一印象往往是软件的开发.我们从一个新手逐渐成长为一个能编简单程序的程序员,往往都是从编程语言,数据结构,算法等软件开发的相关知识起步.但开发过程中的调试等工作,往往只是很简单地使用在语句间夹杂输出语句来判断程序运行错误或逻辑错误的原因.这学期开始学习的软件测试课程补足了我们在软件工程中这一块知识的空白. 学习编程已有很长时间,未学习软件从测试前,我们使用的测试用例往往很单一,程序中应对用户的输入考虑的也十分不周全.比如当我们制作一个卡牌游戏时,往往默认用户执行的都是正确地

【章老师的课程】课程总结

本学期我们的软件测试课程已接近尾声,到这个阶段应该总结一下我们学习到的内容 首先我们学习了黑盒测试 黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用.在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息.黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试. 黑盒测试是以用户的角度,从输入数据与输

【章老师的课程】白盒测试

首先我们先来总结一下白盒测试的基本内容: 白盒测试也称结构测试.逻辑驱动或基于程序的测试,是一种测试用例设计方法. 总体来说白盒测试属于覆盖的测试方法,该方法针对程序的内部结构(源码.逻辑.架构)进行测试. 对于特定的条件和循环设计测试用例,白盒测试对程序的逻辑路径进行测试. 用这种发方法进行程序设计时,测试者可以看到被测程序,并分析其内部结构,白盒测试要求对被测程序的结构特性做到一定程度的覆盖. 那么我们总结一下白盒测试的基本方法: 通常白盒测试分为两类:静态测试与动态测试. 静态测试为: 按

【章老师的课程】再谈黑盒测试

完整的黑盒测试有如下的几个步骤: 首先是测试计划: 根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准,以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的:同时,还要适当选择测试内容,合理安排测试人员.测试时间及测试资源等. 其次是测试设计: 将测试计划阶段制订的测试需求分解.细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响到测试结果的有效性). 然后是测

【判断闰年】程序抛出异常的解决方案

●●● 这个星期,在章院的软件测试课堂上,老师让写出判断用户输入的年份是否为闰年的程序.我给出了下面的代码来做判断条件: if (year % 400 == 0)  {  text2.setText("闰年");  return;  }  if (year % 100 != 0 && year % 4 == 0)  {  text2.setText("闰年");  return;  }  text2.setText("不是闰年")

软件测试-4 判断闰年的程序以及防止输入非法字符

一.题目 判断所输入的年份是否是闰年 二.程序实现 我继续使用javascript+HTML来实现: 不考虑异常的输入,判断闰年的程序如下: function isLeapYear( y ){ return ( y % 400 == 0 ) || ( y % 4 == 0 && y % 100 != 0 ); } 但是在实际使用时必须考虑是否有异常输入,所以我可以在调用该函数前检测一下输入,保证输入是合法的: function isInt(input){ var reg = /^[0-9]

第12章 GPIO输入-按键检测—零死角玩转STM32-F429系列

第12章 ????GPIO输入-按键检测 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege ? 本章参考资料:<STM32F4xx参考手册>.库帮助文档<stm32f4xx_dsp_stdperiph_lib_um.chm>. 按键检测使用到GPIO外设的基本输入功能,本章中不再赘述GPIO外设的概念,如您忘记了,可重读前面"GPIO框图剖析"小

第12章 GPIO输入—按键检测

第12章     GPIO输入-按键检测 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资料:<STM32F4xx参考手册>.库帮助文档<stm32f4xx_dsp_stdperiph_lib_um.chm>. 按键检测使用到GPIO外设的基本输入功能,本章中不再赘述GPIO外设的概念,如您忘记了,可重读前面"GPIO框图剖析"小节,

双十一虽过,李宁老师视频课程优惠仍将继续

对于双十一没有买到折扣课程表示遗憾的同学,李宁老师特意建立了几十个优惠劵码,优惠价格接近双十一的优惠比率(6.6折).有效期到月底.如果还想以优惠价格买课程的同学,从下面选择适合课程价值的优惠劵(分为不同面值:50.100.150.200.250). 李宁老师的课程地址:http://edu.51cto.com/lecturer/user_id-974126.html