ubuntu16.04下配置JDK 1.8+安装Java EE,并实现最大子数组算法
软工第二次作业:
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,并实现最大子数组算法的更多相关文章
- Ubuntu16.04下配置ssh免密登录
Ubuntu16.04下配置ssh免密登录 环境准备:新建两台虚拟机,而且两台虚拟机上都装有Ubuntu16.04的系统,使两台虚拟机之间保持互通状态.分别为两台虚拟机命名为A,B.假设我们要使A虚拟 ...
- Linux入门(16)——Ubuntu16.04下配置sublime text 3使用markdown
sublime text 3安装两个插件: MarkDown Editing OmniMarkupPreviewer 有的人使用 MarkDown Editing markdownpreviewer ...
- Windows 7下配置JDK环境变量和Java环境变量配置
下面来介绍一下Java环境变量配置,是在Windows 7下配置JDK环境变量. 方法/步骤 1 安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为:C:\Program Fil ...
- ubuntu16.04下配置apache2与php
系统版本:ubuntu16.04 命令均在终端中输入,用浏览器测试 //安装apache2命令 sudo apt install apache2 //测试是否安装成功 浏览器地址栏输入“localho ...
- ubuntu16.04下配置caffe无GPU
1. 安装依赖项 1 sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5- ...
- Ubuntu16.04下配置VScode的C/C++开发环境
博客转载:https://blog.csdn.net/weixin_43374723/article/details/84064644 Visual studio code是微软发布的一个运行于 Ma ...
- 转:Ubuntu16.04下配置php+vscode+xdebug开发环境
转:https://blog.csdn.net/its_my_dream/article/details/78549619 操作系统是Ubuntu16.04,首先要安装和配置php运行环境,我这里用的 ...
- 2018.4.1 Ubuntu16.04 下配置Tomcat服务器以及设置dingshi启动
Tomcat自启动的设置技巧 以root用户登录系统: cd /etc/rc.d/init.d/ vi tomcat #!/bin/sh # # tomcat: Start/Stop/Restart ...
- ubuntu16.04下配置静态ip
ubuntu下配置静态ip 1.先获取ip基本信息 ifconfig enp3s0 Link encap:以太网 硬件地址 2c:4d:54:65:de:6e inet 地址:192.168.199. ...
随机推荐
- selenium python的使用(一)
下面是一个爬取知网数据的例子,使用selenium 用python爬取数据 1.创建对象,打开指定地址,在休眠的20秒内输入搜索项 driver= webdriver.Chrome() driver. ...
- source insight 编程风格(持续更新)
1.字体Source Code Pro 出身于豪门Adobe,从名字上来看就知道是转为编码而生的.基本上也是拥有前面所提的编程字体的所有要素的.这个字体基本上具有编程字体所需的所有要素:等宽.支持Cl ...
- 解决Entity Framework中DateTime类型字段异常
从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值 具体的错误原因是:C#中的DateTime类型比SqlServer中的datetime范围大.SqlServe ...
- js 相关知识整理(一)
真正声明变量,是用逗号隔开的 EcM5:严格模式“use strict” java与js 语言的区别: 1.弱类型语言 1.声明变量时不需要提前指定数据类型 2.同一个变量可先后保存不同类型的数据 3 ...
- C++ 一次创建多级目录
#ifdef WIN32 #include <io.h> #include <direct.h> #else #include <unistd.h> #includ ...
- CodeIgniter 下引入ORM Doctrine
做了两年的CI开发,一直使用activeRecord来操作数据库.简单,轻巧加方便.最近一个项目交给手下去做,也是采用从数据库设计入手的开发流程,现在已经上线运行.经历了理清需求,设计数据库,在CI中 ...
- jquery easyui tree的全选与反选
//全选反选 //参数:selected:传入this,表示当前点击的组件 //treeMenu:要操作的tree的id:如:id="userTree" function tree ...
- Python之路【第十八章】:Web框架
Web框架本质 1.众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端 #!/usr/bin/env python # -*- codin ...
- ionic实现点击popup区域外部分来关闭popup
var htmlEl = angular.element(document.querySelector('html')); htmlEl.on('click', function (event) { ...
- 《奥威Power-BI案例应用:带着漫画看报告》腾讯课程开课啦
元旦小假期过去了,不管是每天只给自己两次下床机会的你,还是唱K看电影逛街样样都嗨的你,是时候重振旗鼓,重新上路了!毕竟为了不给国家的平均工资水平拖后腿,还是要努力工作的.话说2016年已经过去了,什么 ...