码迷,mamicode.com
首页 > 其他好文 > 详细

程序测试

时间:2018-03-31 20:37:10      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:组元   +=   img   解决问题   最大连续子数组   ring   代码   .net   log   

1.题目要求

我选的是题目(1):最大连续子数组和(最大子段和)

??问题: 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时定义子段和为0,依此定义,所求的最优值为: Max{0,a[i]+a[i+1]+…+a[j]},1<=i<=j<=n
例如,当(a[1],a[2],a[3],a[4],a[5],a[6])=(-2,11,-4,13,-5,-2)时,最大子段和为20。
-- 引用自《百度百科

2.具体要求

??(1) 请写出可运行的完整代码提交至GitHub或者Coding.net系统中,并将代码地址附到博客内,题目(1)可以参考这篇博文

??(2) 请从语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖五个覆盖标准中(条件组合覆盖难度较大,鼓励尝试,但请谨慎选择),任选一个标准设计测试用例

??(3) 请利用自动测试工具对程序进行测试

??(4) 请将程序运行结果和自动测试分析结果截图附到博客中

3.解决问题

??(1) 代码及代码地址

package ag;

import java.util.Scanner;

public class MaxSum
{
    public static void main(String[] args)
    {
        @SuppressWarnings("resource")
        Scanner sc=new Scanner(System.in);
        int[] su=new int[1000];
        System.out.println("请输入数组元素个数:");
        int n=sc.nextInt();
        System.out.println("请输入数组元素:");
        for(int i=0;i<n;i++)
        {
            su[i]=sc.nextInt();
        }
        int maxSum;
        maxSum=Maxnum(n,su);
        System.out.println("最大子段和:"+maxSum);
    }
    public static int Maxnum(int n,int[] su)
    {
        int maxSum = su[0];//记录最大子数组的和
        for(int i=0;i<n-1;i++)
        {
            int sum=0;
            for (int j = i+1; j>=0; j--)//寻找以su[i+1]为终点的最大子数组
            {
                sum += su[j];
                if (sum>maxSum)
                {
                    maxSum = sum;
                }
            }
        }
        return maxSum;
    }
}

??(2) 程序流程图

技术分享图片

??(3) 设计条件覆盖用例

技术分享图片
为使得每个条件的可能取值一次,测试用例可设为{-2,11,-4,13,-5,-2},期待值为20。

??(4) 程序运行结果截图

技术分享图片

??(5) 单元测试代码。

package ag;
import static org.junit.Assert.*;
import org.junit.Test;
public class MaxSumTest 
{   
        @Test
        public void test() 
        {
            int[] su= {-2,11,-4,13,-5,-2};
            assertEquals(20,new MaxSum().Maxnum(6,su));
        }
}

??(6) 自动测试分析结果截图

技术分享图片

程序测试

标签:组元   +=   img   解决问题   最大连续子数组   ring   代码   .net   log   

原文地址:https://www.cnblogs.com/AoGui/p/8667029.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!