软件工程(2018)第三次个人作业

  • 前言:

    第三次作业还是一个个人作业,我选择了第一个题目最大连续子数组和的,下面是对该问题的复述:

  • 问题复述:

    给定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。百度百科

  • 代码编写

    通过上述百度百科的内容和c程序代码,自己通过学习研究,对最大字段和有了新的思路,了解了算法动态规划法,再通过请教别的同学,用Java编写的代码如下:


public class third {public static void main(String[] args) {third th = new third();int result = th.maxsub(6, new int[]{1,2,3,4,5,6});System.out.printf("result = %d",result);}public int maxsub(int count,int a[]){int[] b = new int[100];int i,max;b[0]=a[0];max=b[0];for(i=1; i<count; i++){if(b[i-1]>0)b[i]=b[i-1]+a[i];elseb[i]=a[i];if(b[i]>max)max=b[i];}return max;}}
  • 程序框图

    为了更方便的后面的单元测试,所以对这段用动态规划法做的程序进行了程序框图的设计,下面是用word文档做的框图的截图,图像有点大,所以把框图的结构改了一下,自我感觉还可以,希望别人都能看明白,哈哈。

  • Junit单元测试

    对该程序进行单元测试,首先确定用判定条件覆盖,根据上面的程序流程图来选择五组数据,从而来测试程序的正确性。下面是五组测试数据:

  • ① 1,{5}
  • ② 5,{1, 3, 5, -2, 1}
  • ③ 5,{1, 3, -5, -2, 1}
  • ④ 5,{-1, 3, 5, -2, 1}
  • ⑤ 5,{-1.3.-5,-2,-1}

    下面是在eclipse中测试的程序用例:


下图是对这些用例的检测分析:

  • 总结与反思

    这次作业是单人作业的最后一次,也是一次对问题的实际解决。从本次作业中还是能找到自己的不足,希望在以后的作业中能够脚踏实地,认真思考,因为自己在java上还是菜鸡级别的人,能完成这次作业,要灰常的感谢我的多人组队的队长尉安瑞同学,希望以后能跟队长看齐,加油!!

PS:我的coding

转载于:https://www.cnblogs.com/liangheng/p/8684264.html

起一个洋气一点的名字相关推荐

  1. 每个python文件就是一个模块、模块的名字就是_每个Python文件都可以作为一个模块,模块的名字就是 的名字_学小易找答案...

    [单选题]9.3 The management of XYZ Co has annual credit sales of $20 million and accounts receivable of ...

  2. 商标起名软件php,如何起一个好听的商标名字?有哪些原则呢?

    随着越来越多的人加入注册商标的大流,如何起一个好听的商标名字成为最令申请人头疼的一个问题.取个好名字是一件很有讲究的事,商标是全国范围内保护的,目前商标非常之多,导致起一个满意的可以注册的商标名称很难 ...

  3. 如何选择一个男孩儿的英文名字?

    AARON (希伯来)启发的意思,AARON被描绘为不高但英俊的男人,诚实刻苦具有责任感,是个有效率个性沉静的领导者. ABEL (希伯来)"呼吸"的意思,为ABELARD的简写, ...

  4. 用人工智能取一个超酷的名字(一)

    用人工智能取一个超酷的名字(一) 在我年轻的时候,我总是讨厌别人叫我春阳.这主要是因为我觉得这个名字有点土,听起来不够有格调.但是没有办法,按照我们中国人的传统,我这辈按照族谱中的规定,第二个字是春, ...

  5. 给函数和变量取一个有意义的名字

    为什么要给函数和变量取一个有意义的名字? 1. 代码写出来是给以后的自己和别人看的,易于理解的变量名可以更好的阅读,并且可以看出编码者的个人修养和编程功底: 2. 好的变量名字有利于提高自己英语水平( ...

  6. 兄弟连,一个很不错的名字。

    兄弟连,一个很不错的名字. 不知道大家有没有看过"兄弟连"这部电视剧 . 一群来自五湖四海的年轻人聚在一起,他们都是一群普普通通的老百姓,但是却 在后来的训练下变成了一支特种部队. ...

  7. 取文字_取一个好听的女孩名字

    每一个女孩都是家里的小天使,而给孩子取名是一件伤脑的事情,不仅仅因为需要考虑很多,而且还因为希望赋予最好的.所以,对于女孩取名方面在这特意分享取一个女孩的名字. 如何取一个女孩的名字 你是否还在困扰如 ...

  8. 于是,我们给前端分享会定义了一个未定义的名字

    经过我司前端小伙伴们的投票,我们即将对外开放的前端分享会终于正式定名为 Undefined 分享会啦(撒花~)而这篇文章就是关于分享会本身的一个小分享 XD 我个人私底下是挺喜欢和其他同学扯些和技术有 ...

  9. 如何用svg画一个骚气的名字

    1. 前言 前端实现动画 即使很炫的那种,说白了 各种 @keyframe a b c d 组合加上自己的创意,也不是很难,直到有一天看到一个 像蚯蚓一样 描边的 动画,感觉挺不错,后来发现是svg ...

最新文章

  1. unity 给图片边缘_Unity Shader 屏幕后效果——边缘检测
  2. String类split方法
  3. 高清精美壁纸:2013年9月桌面日历壁纸免费下载
  4. python3实现抓取网页资源的 N 种方法(内附200GPython学习资料)
  5. 自定义配置节与配置节的读取
  6. elastic-job 新手指南官网指南
  7. QT中中文乱码的解决
  8. pytorch 与 numpy 的相互转换
  9. 使用hbase遇到的问题
  10. 干货|软件测试简历的编写以及注意事项
  11. PageRank算法在社交网络上的应用
  12. 图吧主机linux,图吧垃圾佬的LINUX体验
  13. 修复ie浏览器主页被360篡改
  14. 关于define与defined的区别
  15. Maya---捕捉命令
  16. 面对突如其来的新冠,“AI”可以做点什么?
  17. 如何将mp3转wav格式?
  18. 计算机网络学习笔记3-ARP+广播风暴
  19. EXTJS动态载入组件定义文件并初始化组件,动态构造界面的方法.
  20. 【技法操作】UI界面设计,用PS绘制闹钟页面教程

热门文章

  1. 设计模式—享元设计模式
  2. ufserver文件上传服务器-用来管理你项目中的图片-性能可比Java、Python高十倍不止
  3. 手机电池充电时间计算方法
  4. Python Pygame 实现宝可梦对战场面
  5. 第一次参加CSDN线下活动:“TUP13期架构师沙龙之客户端优化”感悟
  6. 你的酒馆对我打了烊(男生版)
  7. 给pdf电子书添加书签
  8. 三国志战略版:官渡之战_新阵容解读_张鲁
  9. 中国版鲁滨逊:潘濂的奇幻漂流《一个人不能失去在生活中挣扎的能力》
  10. 实验五——手工编写PE文件