数组中最大的子数组之和

一.单元测试

什么是单元测试

单元测试,是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义。单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。

实例应用

输入一个数组和它的大小

输出这个数组中最大子数组的和

 

import java.util.Scanner;

public class Maxsum {
    public  int Max(int Array[],int size){
        int max=Array[0];
        int num;
        int sum=max;
        for(num=1;num<size;num++)
        {
            if(sum<0)
                sum=Array[num];
            else
                sum+=Array[num];
            if(sum>max)
                max=sum;
        }
        return max;
    }
    public static void main(String[] args){
        Maxsum sum=new Maxsum();
        Scanner in=new Scanner(System.in);
        int size=in.nextInt();
        int []Array=new int[size];
        int num;
        for(num=0;num<size;num++)
            Array[num]=in.nextInt();
        System.out.println(sum.Max(Array,size));
        in.close();
    }
}
import static org.junit.Assert.*;

import org.junit.Test;

public class MaxsumTest {
    Maxsum sum=new Maxsum();   
    public void setUp() throws Exception {

    }

    public void tearDown() throws Exception {

    }
    @Test
    public void testMax1() {
        int []Array=new int[]{1,-2,4,-1,-5};
        assertEquals(4, sum.Max(Array,5));
    }
    @Test
    public void testMax2() {
        int []Array=new int[]{1,-2,-4,1,5};
        assertEquals(6, sum.Max(Array,5));
    }
    @Test
    public void testMax3() {
        int []Array=new int[]{1,2,3,1,1};
        assertEquals(8, sum.Max(Array,5));
    }
    @Test
    public void testMax4() {
        int []Array=new int[]{-1,-2,-4,-1,-5};
        assertEquals(-1, sum.Max(Array,5));
    }
    @Test
    public void testMax5() {
        int []Array=new int[]{0,0,0,0,0};
        assertEquals(0, sum.Max(Array,5));
    }
}

运行测试截图:

二.效能分析

什么是效能分析

效能分析,指对某种事物或系统执行某一项任务结果或者进程的质量好坏、作用大小、自身状态等效率指标的量化计算或结论性评价。效能是指系统在规定条件下达到规定使用目标的能力。“规定的条件”指的是环境条件、时间、人员、使用方法等因素;“规定使用目标”指的是所要达到的目的;“能力”则是指达到目标的定量或定性程度。

jprofiler实现

JProfiler是一个商业授权的Java剖析工具,它把CPU、执行绪和内存的剖析组合在一个强大的应用中,可提供许多IDE整合和应用服务器整合用途。

堆遍历:

 

 

 cpu视图:

 线程视图:

线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位,一个进程中可以并发多个线程,每条线程并行执行不同的任务。

 

posted @ 2021-03-13 15:28  霜烬  阅读(120)  评论(1)    收藏  举报