软工第二次作业:

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. 个人理解java的继承

    java的类是属于单继承的.在继承这一块上我本来有一个很大的误区,就是觉得父类中private定义的成员无法被继承.直到网上的大神给我指出private是可以被继承的,会在内存中,只是在子类的对象中不 ...

  2. canvas简单处理图片(反色处理)

    用canvas可以简单地处理图像,比如切割 灰色处理等,今天记下的是图像的反色处理. <!DOCTYPE html> <html> <head> <meta ...

  3. canvas 拖拽实现

    Canvas 依赖分辨率 不支持事件处理器 弱的文本渲染能力 能够以 .png 或 .jpg 格式保存结果图像 最适合图像密集型的游戏,其中的许多对象会被频繁重绘 SVG 不依赖分辨率 支持事件处理器 ...

  4. DataTable数据赋值给Model通用方法

    注:该文属本人原创,今后项目中发现该方法存在BUG会实时更新,转载记得附上原文出处,方便大家获得最新代码. 相信大家在做项目中,经常会根据不同的表new各种不同的Model,当需要对Model进行实例 ...

  5. zx一篇让Java程序猿随时可以翻看的Oracle总结

    一篇让Java程序猿随时可以翻看的Oracle总结 前言:Oracle学习也有十几天了,但是呢,接下来还要学习许多其他的东西,并不能提步不前,所以在此总结了以下Oracle中常用的命令和语句,没有语法 ...

  6. Oracle中PL/SQL的执行部分和各种流程控制

    Oracle中PL/SQL的执行部分和异常部分 一.PL/SQL的执行部分. 赋值语句. 赋值语句分两种,一种是定义一个变量,然后接收用户的IO赋值:另一种是通过SQL查询结果赋值. 用户赋值举例: ...

  7. 图解jmeter压测http接口

    此次压力测试是以一个http json的后台接口为例. 1. 创建相应的部件 2. 设置相应的参数 线程组主要用于设置一共要测试的线程数量(上图1000),每秒起的线程数(上图10),几秒内启动完单循 ...

  8. 关于Java运算中类型自动提升的问题

    1.表达式中的自动类型提升: 表达式求值时,Java自动的隐含的将每个byte.short或char操作数提升为int类型,这些类型的包装类型也是可以的. 例如:short s1 = 1; s1 =  ...

  9. noi 1.5 45:金币

    描述 国王将金币作为工资,发放给忠诚的骑士.第一天,骑士收到一枚金币:之后两天(第二天和第三天)里,每天收到两枚金币:之后三天(第四.五.六天)里,每天收到三枚金币:之后四天(第七.八.九.十天)里, ...

  10. [原创]java WEB学习笔记109:Spring学习---spring对JDBC的支持:使用 JdbcTemplate 查询数据库,简化 JDBC 模板查询,在 JDBC 模板中使用具名参数两种实现

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...