继Junit....

JAVA !NO.2



一、选题

  发第三次作业之前,做课堂练习的时候听老师提过这次作业分为两种难易程度,当时脑袋里想的就是:简单的啊,当然选简单的,那就简单的...必须的必啊

  但是,等到我打开作业看要求的时候,觉得题目一,也还好啊,也就..理所当然的选择了题目一。(...做过之后,发现自己又盲目自信了...和装eclipse的时候一样.....)

  所以,在这种盲目自信的情况下,
  这次作业我选择了题目一:最大连续子数组和(最大子段和)

  背景

  问题:
  给定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。

  解题大致思路:

利用数组、二重循环实现对输入数据的依次比较求和:即比较定义的lsum与sum的大小,以保证最后加和为最大子段和。


二、实现最大连续子段和 代码


1.代码清单

package ruan3;

public class meng {
	public int Max(int a,,int [] m) {
		int n=m.length ;
		int lsum=0;
		int sum=0;
		for(int i=0;i<n;i++) {
			int sum=0;
			for(int j=i;j<n;j++) {
				lsum=lsum+m[j];
				if(lsum>sum)
					sum=lsum;
			}
		}
		return sum;
	}
	

}

2.程序

3.代码链接

https://git.coding.net/futureew/ruangong3.git

三、测试


1.覆盖语句选择

语句种类:

   * 语句覆盖:使得程序中每个语句至少都能被执行一次。
   * 判定覆盖:使得程序中每个判定至少为T和F各一次。
   * 条件覆盖:使得判定中的每个条件获得各种可能的结果。
   * 判定/条件覆盖:同时满足判定覆盖和条件覆盖。
   * 条件组合覆盖:使得每个判定中条件的各种可能组合都至少出现一次。

流程图:

语句选择:

  基于自我感觉操作起来并不是十分困难以及此次作业评分标准:选择条件组合覆盖

2.测试用例选择:

  根据条件组合覆盖标准,我选取了两组测试用例:{-2,-4,-7,-8,-9,-10}和{5,-2,,,1,1,8,-9}

3.测试结果图

三、总结及心得体会


  上次的eclipse安装就已经觉得快崩溃了,最后在崩溃的边缘又找到了一丝希望,成功的安装并且使用了。这次作业,让我再一次体会到了什么叫从崩溃到崩溃的感觉...
  在刚开始,编写代码倒是没有什么太大的难度,最后的纠结点还是位于eclipse的使用,以及这次新增的coding存放代码的功能的实现上,再一次学习到了一种新东西:coding代码托管..
  一开始,理所当然的认为,要将自己的代码上传至coding进行托管,需要下载git,然后在git中将代码存放进去,然后再进入coding将git中的代码传进去....

GIT..........

  弄了一天git的下载和使用..后来请教了已经完成作业的同学..才发现自己多此一举了,直接在coding中新建项目将自己的代码贴进去就可以了..不到两分钟...就完成了代码的存放...
  现在想想...真的效率挺低的,一直在做无用功,白白浪费了大把的时间...希望以后,不要这么想当然怎么样就是怎么样..


  刚开始接触这个博客,还是不太习惯它的发博方式,比较复杂、多样;但经历了三次紧赶作业之后,真的喜欢上了markdown;喜欢它多种多样的排版方式、喜欢它的随心所欲。
emsp; 我想着这应该和自己熟悉了这种写作方式有很大的关系,得心应手才会越来越喜欢。

  往前翻看自己的作业,其实,真的看到了自己的进步,这样一步一步的,慢慢走进来..
  每一次的作业,最后作总结的时候,都会发现自己的不足和成长之处。这个过程很重要,但我觉得最后的总结回顾也非常重要,你走的弯路或是捷径都一目了然,每一次的自我总结都会在很大程度上使自己得到一种提升,真的很喜欢喜欢这种自主的学习方法....





例行鼓励:

  • 懒惰

  • 加油!everyday

原文地址:https://www.cnblogs.com/mengmeng-simida/p/8684118.html