软工第二次作业:

1、在个人电脑中安装一个集成开发环境(Microsoft Visual Studio、Eclipse或其它工具均可),要求该环境能够提供单元自动测试功能;

2、记录安装过程,并将全部内容发表在博客中;

3、实现最大子数组和算法,并将该段代码上传至Coding.net系统中;

4、自行选择合适的覆盖标准并设计测试用例对该段代码进行测试,并将测试结果发布在博客中,结果以如下表格形式完成。


本文为干货,希望有用,欢迎评论。


由于我的labtop上安装的是ubuntu16.04系统,其上不支持VS,固决定安装Eclipse以便日后开发。下面介绍ubuntu16.04系统下安装Eclipse的具体步骤:

  • 下载jdk:jdk-8u101-linux-x64.tar.gz
  • 下载Eclipse:eclipse-jee-luna-SR2-linux-gtk-x86_64.tar.gz(下载资源可移步官网)
  • 将jdk解压到/usr/local文件夹中。双击压缩文件解压到/home目录下,后将文件通过终端命令转移到/usr/local目录下:mkdir /usr/local———创建一个新文件夹

(另外可以直接用终端命令sudo tar zxvf jdk-8u101-linux-x64.tar.gz -C /usr/local达到上述目的。需要注意的是网上下载的压缩文件默认保存在/home/download下,如果直接用上述命令从这一目录解压文件到目标目录下,就会提示找不到这一文件,我试着先把文件解压到/home下,再通过root权限移动文件,结果就成功了,至于原因还请知道的大神不吝赐教~)

  • 配置jdk环境变量。命令:sudo vim /etc/profile———使用vim打开文件,并在文件尾添加如下语句:
JAVA_HOME=/opt/jvm/jdk1..0_77

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

查看是否安装成功:java -version,若显示如下,则说明安装成功。

  • 安装Eclipse。将其用同样的方法解压到/usr/local文件夹中。
  • 创建Eclipse桌面快捷方式。在中端输入:sudo gedit /usr/share/applications/eclipse.desktop——弹出文本编辑器,忽略终端警告,在文本编辑器中输入:
[Desktop Entry]

Type=Application

Name=Eclipse

Comment=Eclipse Integrated Development Environment

Icon=/usr/lib/eclipse/icon.xpm

Exec=/usr/lib/eclipse/eclipse

Terminal=false

保存并退出,安装完成。

  • 之后在文件夹中找到eclipse图标,双击即可打开。

(补充:在这里安利一款linux下功能强大的截图软件ksnapshot。在命令行输入:sudo apt-get install ksnapshot,等待安装完成之后就可以自由自在的截屏了~)

另外,百度了一下什么叫“单元自动测试”,这里介绍的挺详细的:http://www.infoq.com/cn/articles/road-of-automated-unit-testing-practices/,但我还是一头雾水,有兴趣的朋友可以看一下。

最大子数组和算法实现以及单元测试

代码实现代码:

    package test;
import java.util.*;
public class MaxSubArraySum {
public static void main(String []args) {
int len, res;
Scanner scan = new Scanner(System.in);
len = scan.nextInt();
int []a = new int [len];
for(int i = 0; i < len; i++)
a[i] = scan.nextInt();
res = Method(a, len);
System.out.println("该数组的最大子数组和为:" + res);
} static int Method(int []a, int len) {
int i;
int MaxSum = 0;
int CurSum = 0;
for(i = 0; i < len; i++){
CurSum += a[i];
if(CurSum > MaxSum)
MaxSum = CurSum;
if(CurSum < 0)
CurSum = 0;
}
return MaxSum;
}
}

单元测试代码:

package test;

import static org.junit.Assert.*;

import org.junit.After;
import org.junit.Before;
import org.junit.Test; public class MaxSubArraySumTest { @Before
public void setUp() throws Exception {
} @After
public void tearDown() throws Exception {
} @Test
public void testMethod1() {
int len = 5;
int []a = {1,2,3,4,1};
System.out.println("该数组的最大子数组和为:" + MaxSubArraySum.Method(a, len));
}
@Test
public void testMethod2() {
int len = 5;
int []a = {1,2,3,-4,-1};
System.out.println("该数组的最大子数组和为:" + MaxSubArraySum.Method(a, len));
}
@Test
public void testMethod3() {
int len = 4;
int []a = {1 ,4 ,-5, 6};
System.out.println("该数组的最大子数组和为:" + MaxSubArraySum.Method(a, len));
}
@Test
public void testMethod4() {
int len = 4;
int []a = {1, 0, -1, 2, -1, 3};
System.out.println("该数组的最大子数组和为:" + MaxSubArraySum.Method(a, len));
} }

运行结果:

代码托管:https://coding.net/u/Drogheda/p/SchoolWork/git/blob/master/README.md

ubuntu16.04下配置JDK 1.8+安装Java EE,并实现最大子数组算法的更多相关文章

  1. Ubuntu16.04下配置ssh免密登录

    Ubuntu16.04下配置ssh免密登录 环境准备:新建两台虚拟机,而且两台虚拟机上都装有Ubuntu16.04的系统,使两台虚拟机之间保持互通状态.分别为两台虚拟机命名为A,B.假设我们要使A虚拟 ...

  2. Linux入门(16)——Ubuntu16.04下配置sublime text 3使用markdown

    sublime text 3安装两个插件: MarkDown Editing OmniMarkupPreviewer 有的人使用 MarkDown Editing markdownpreviewer ...

  3. Windows 7下配置JDK环境变量和Java环境变量配置

    下面来介绍一下Java环境变量配置,是在Windows 7下配置JDK环境变量. 方法/步骤  1 安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为:C:\Program Fil ...

  4. ubuntu16.04下配置apache2与php

    系统版本:ubuntu16.04 命令均在终端中输入,用浏览器测试 //安装apache2命令 sudo apt install apache2 //测试是否安装成功 浏览器地址栏输入“localho ...

  5. ubuntu16.04下配置caffe无GPU

    1. 安装依赖项  1 sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5- ...

  6. Ubuntu16.04下配置VScode的C/C++开发环境

    博客转载:https://blog.csdn.net/weixin_43374723/article/details/84064644 Visual studio code是微软发布的一个运行于 Ma ...

  7. 转:Ubuntu16.04下配置php+vscode+xdebug开发环境

    转:https://blog.csdn.net/its_my_dream/article/details/78549619 操作系统是Ubuntu16.04,首先要安装和配置php运行环境,我这里用的 ...

  8. 2018.4.1 Ubuntu16.04 下配置Tomcat服务器以及设置dingshi启动

    Tomcat自启动的设置技巧 以root用户登录系统: cd /etc/rc.d/init.d/ vi tomcat #!/bin/sh # # tomcat: Start/Stop/Restart ...

  9. ubuntu16.04下配置静态ip

    ubuntu下配置静态ip 1.先获取ip基本信息 ifconfig enp3s0 Link encap:以太网 硬件地址 2c:4d:54:65:de:6e inet 地址:192.168.199. ...

随机推荐

  1. 尝试自己翻译了FreeCodeCamp的文章,技术方面多认识了几种技术,文章标题:Transparency in Action Free Code Camp is Now Open Source

    这是FreeCodeCamp其中一篇文章,趁着学习英文的时间,翻译这篇文章,其中讲到作者创建FCC过程,本文属于原创,第一次翻译,翻译还有诸多不足之处,请大家包含. 原文地址:https://medi ...

  2. html5 app开发,你知道多少?

    随着大量新生移动设备的兴起,改变了互联网的未来,html5技术为开发者提供了一个跨平台的移动app开发方案,并且该方案具有很好的扩展性和灵活性,但就国内使用html5开发app应用技术来讲,还是有欠缺 ...

  3. Oracle之nclob类型

    此类型会严重影响查询效率,请少用: nclob字段在查询结果中显示为<NCLOB>,查看nclob类型的值方法有两种 a.可点开...查看具体数据 b.选择所有数据,右击复制到Excel, ...

  4. JS Note1

    1.JavaScript 简史 JavaScript 诞生于1995 年.当时,它的主要目的是处理以前由服务器端语言(如Perl)负责的一些输入验证操作 如今,JavaScript 的用途早已不再局限 ...

  5. sql 中set和select区别

    基于SQL中SET与SELECT赋值的区别详解 2012年09月06日 ⁄ 综合 ⁄ 共 912字 ⁄ 字号 小 中 大 ⁄ 评论关闭 最近的项目写的SQL比较多,经常会用到对变量赋值,而我使用SET ...

  6. 搜索引擎Solr系列(二): Solr6.2.1 从MySql中导入数据

     一:建立MySql测试表,如下图: 二:solr导入配置: 1.新建demo core文件夹,并修改managed-schema里面的配置文件建立索引字段: 2.把mysql-connector-j ...

  7. JAVA-JNI java程序调用c/c++程序

    目的:写c/c++函数,让java调用 java代码 1.创建HelloJNI.java文件->编写代码如下->cmd中javac HelloJNI.java获取HelloJNI.clas ...

  8. ubuntu配置NFS

    ubuntu配置NFS: sudo apt-get install nfs-kernel-server 配置/etc/exports 例如:我们要将根目录下的 /opt/FriendlyARM/min ...

  9. Android驱动开发前的准备

    最近看了一些Android驱动开发前需要知道的资料,收获很多,接下来就谈谈我自己的一些心得体会. Android在近几年时间发展迅速,已经成为智能手机操作系统的老大.不过,因为Android原生的代码 ...

  10. 用mac系统制作mac系统启动盘

    1.找一个大于8G的U盘,最好3.0接口 2.将U盘插入电脑,打开电脑的磁盘工具,将其抹去为“Mac OS扩展”格式,名称随意 3.下载一个mac系统dmg镜像 4.在系统中打开镜像 5.打开终端,输 ...