《算法》第四版 IDEA 运行环境的搭建

新建
模板
小书匠

在搭建之初,我是想不到会出现如此之多的问题。我看了网上的大部分教程,都是基于Eclipse搭建的,还没有使用IDEA搭建的教程。我相信许多读者跟我一样,在学习Java的时候没有使用过命令行编译的形式去运行Java代码,直接使用Eclipse工具去进行开发的,因此,当看到书中

% java BinarySerach xxx.txt < xxx.txt

的时候,不免有点不知所措。笔者现在使用的IDE是IDEA,因此是想要在IDEA下搭建环境,好了废话不多说了,开始吧。

概述

环境的搭建分以下几个步骤:

  • Java 运行环境的搭建
  • IDEA 的安装与破解
  • 《算法》 运行库的下载与配置
  • IDEA 工程的创建以及在IDEA中使用命令行

前两个步骤就不写了,网上的教程一大把。

《算法》 运行库的下载与配置

  1. 首先,我们需要下载作者提供的运行库,下载地址: 点我下载

下载红色框框的内容

我们需要下载两个内容,一个是库,一个是测试的数据。库是algs4.jar,数据是algs4-data.zip。

  1. 在C盘建立目录 C:\Program Files\algs4 将 algs4.jar 放入其中,如下所示:

algs4.jar的存放位置

ps:这里你可以放在任何你想要放的地方,笔者只是习惯放在C盘而已。

  1. 在CLASSPATH环境变量中,添加值 C:\Program Files\algs4\algs4.jar (就是刚刚存放algs4.jar的路径),如下所示:

环境变量的设置

网上说,要加个 分号 ,具体我也没去深究,就这样吧。

这样下来,就完成了库的配置了。还有一个测试数据的使用,在下一节。

IDEA 工程的创建以及在IDEA中使用命令

  1. 创建一个HelloWorld工程

enter description here

选择你的JDK,我使用的是1.6。

  1. 为项目添加jar包

Project Structure

添加jar包
  1. 解压测试数据到src目录下:

解压测试数据到src目录下
  1. 编写测试代码(1.3 节里的代码)
package Test;

public class FixedCapacityStackOfStrings {
private String[] stack;
private int N; FixedCapacityStackOfStrings(int cap){
stack = new String[cap];
} public String pop(){
return stack[--N];
} public boolean isEmpty(){
return N==0;
} public int size(){
return N;
}
public void push(String s){
stack[N++] = s;
}
}
package Test;

import edu.princeton.cs.algs4.StdIn;
import edu.princeton.cs.algs4.StdOut; public class FixedCapacityStackOfStringTest {
public static void main(String[] args){
FixedCapacityStackOfStrings s = new FixedCapacityStackOfStrings(100);
while (!StdIn.isEmpty()){
String item = StdIn.readString();
if(!item.equals("-")){
s.push(item);
}else if(!s.isEmpty()){
StdOut.print(s.pop() + " ");
}
}
StdOut.println("("+s.size()+" left"+")");
}
}

测试结果

以上,就好了。

《算法》第四版 IDEA 运行环境的搭建的更多相关文章

  1. 在Eclipse下配置算法(第四版)运行环境

    第一步:配置Eclipse运行环境 Eclipse运行环境配置过程是很简单的,用过Eclipse进行java开发或学习的同学应该都很熟悉这个过程了. 配置过程: (1)系统环境:Windows7 64 ...

  2. 算法第四版 在Eclipse中调用Algs4库

    首先下载Eclipse,我选择的是Eclipse IDE for Java Developers64位版本,下载下来之后解压缩到喜欢的位置然后双击Eclipse.exe启动 然后开始新建项目,File ...

  3. 算法第四版-文字版-下载地址-Robert Sedgewick

    下载地址:https://download.csdn.net/download/moshenglv/10777447 算法第四版,文字版,可复制,方便copy代码 目录: 第1章 基 础 ...... ...

  4. 二项分布。计算binomial(100,50,0.25)将会产生的递归调用次数(算法第四版1.1.27)

    算法第四版35页问题1.1.27,估计用一下代码计算binomial(100,50,0.25)将会产生的递归调用次数: public static double binomial(int n,int ...

  5. 算法第四版jar包下载地址

    算法第四版jar包下载地址:https://algs4.cs.princeton.edu/code/

  6. Java开发和运行环境的搭建

    Java开发需要准备的东西? JDK+Eclipse 其中JDK的意思是Java开发工具包,Eclipse是进行用于做Java程序开发的工具(当然你也可以用记事本什么的去做). 其他开发工具:JCre ...

  7. SAAS云平台搭建札记: (二) Linux Ubutu下.Net Core整套运行环境的搭建

    最近做的项目,由于预算有限,公司决定不采购Windows服务器,而采购基于Linux的服务器. 一般的VPS服务器,如果使用Windows系统,那么Windows Server2012\2016安装好 ...

  8. 算法第四版学习笔记之优先队列--Priority Queues

    软件:DrJava 参考书:算法(第四版) 章节:2.4优先队列(以下截图是算法配套视频所讲内容截图) 1:API 与初级实现 2:堆得定义 3:堆排序 4:事件驱动的仿真 优先队列最重要的操作就是删 ...

  9. 算法第四版学习笔记之快速排序 QuickSort

    软件:DrJava 参考书:算法(第四版) 章节:2.3快速排序(以下截图是算法配套视频所讲内容截图) 1:快速排序 2:

随机推荐

  1. SSL、数字签名、CA 工作原理

    SSL.数字签名.CA 工作原理 对称加密和非对称加密介绍和区别 什么是对称加密技术?   对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方 ...

  2. Spring框架中stopwatch(秒表)

    StopWatch对应的中文名称为秒表,经常我们对一段代码耗时检测的代码如下: long startTime = System.currentTimeMillis(); // 你的业务代码 long ...

  3. ACM-单调队列用于DP优化

    http://www.cnblogs.com/ka200812/archive/2012/07/11/2585950.html 待续

  4. spring mvc改造成spring boot

    一.新增依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...

  5. python反爬之网页局部刷新1

    # ajax动态加载网页 # 怎样判断一个网页是不是动态加载的呢? # 查看网页源代码,如果源码中没有你要的数据,尝试访问下一页,当你点击下一页的时候,整个页面没有刷新, 只是局部刷新了,很大的可能是 ...

  6. Vue.js 插件开发

    Vue.js 的插件应当有一个公开方法 install .这个方法的第一个参数是 Vue 构造器 , 第二个参数是一个可选的选项对象: MyPlugin.install = function (Vue ...

  7. 表单验证插件及一些属性的用法 validate

    注:必须配合jq使用. 基本语法 例如有如下: <form action="" method="post" id="demoForm" ...

  8. AngularJS表单验证开发案例

    angular支持IE8+浏览器,虽然性能很好,但是目前只适用于手机端项目 知识点:域$scopeAngularJS基础指令指令实现不同的功能学习思路和方法 <link rel="st ...

  9. <Android 基础(十二)> TextInputLayout,让输入框更有灵性

    介绍 Layout which wraps an {@link android.widget.EditText} (or descendant) to show a floating label wh ...

  10. 日志滚动与cron调度

    日志滚动与cron调度 1.日志滚动 nginx默认日志不能进行滚动,始终写入到一个文件中,即access.log.编写日志滚动的shell脚本,并使用linux的cron定时调度周期性进行日志文件滚 ...