首页 > 其他 > 详细

边界,测试很重要

时间:2014-04-07 00:09:14      阅读:542      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
int cur = 1000;
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            int next = scanner.nextInt();
            if (next > 0 && next + cur < 2000) {
                System.out.println("ok,you can!");
                System.out.println(next +cur);
            } else {
                System.out.println("no you can not !");
            }
        }
bubuko.com,布布扣

上面的代码逻辑很简单,判断是否小于2000。输出相应的信息。

但是其中隐藏了一个边界的问题。

当输入800 的时候毫无问题,但是当输入2147483647 时,oh,居然通过了,细细一看,这个值是 int 最大值。数字越界导致校验失效。

ok,you can!
     -2147482649

所以,在测试的时候要正确测试数值的边界: 负数,0 ,正数。

边界,测试很重要,布布扣,bubuko.com

边界,测试很重要

原文:http://www.cnblogs.com/pan2011/p/3649364.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!