《算法》第四版 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. js中 var functionName = function() {} 和 function functionName() {} 两种函数声明的区别 (译)

    stackOverflow中看到了很久以前问的一个关于函数声明的问题,问题对函数剖析的特别深.这里翻译了一下组织成一篇小博文,加深一下对这两种声明方式的印象.虽是老调重弹,但是只要能帮助理解问题,不管 ...

  2. Windows之CMD查看系统信息

    Windows 系统通过命令行(CMD)查询系统信息有两种方式: 1.图形化界面: 在“运行”中键入CMD,然后输入 dxdiag,回车后弹出图形化界面 ------ DirectX 诊断工具. 2. ...

  3. <Android 基础(七)> DrawerLayout and NavigationView

    介绍 DrawerLayout是Support Library包中实现了侧滑菜单效果的控件 android.support.v4.widget.DrawerLayout NavigationView是 ...

  4. 修改Android系统关机动画

    文件路径:frameworks\base\services\core\java\com\android\server\power\ShutdownThread.java 在beginShutdownS ...

  5. [SVN]TortoiseSVN工具培训1─为什么要用SVN?

    你是否有经历过以下情况: SVN的使用理由/好处:

  6. c++基础(积少成多)

    1.#include<string> #include<iostream> 这是引用头文件: 2.Using namespace std; 这是引用命名空间,防止同一个命名空间 ...

  7. Java类与对象初始化的过程(一道经典的面试题)

    本文不再以ClassLoader的视角解释这些问题. 首先,Java代码有个特点,就是成员变量可以在前面的方法中使用,在后面定义.这一特性,很多人说Java了不起,可是为什么呢?Java为何能够这样呢 ...

  8. Python扩展包

    Python扩展包 1.NumPy NumPy提供了多种python本身不支持的多种集合,有list.ndarray和ufunc. list 更加灵活的数组,支持多维,数据可不同型,存储数量远大于ar ...

  9. Altium_Designer-PCB中布局元器件时的翻转问题

    这个问题是我在第一次对PCB元器件布局时发现的,当时我绘制好原理图生成PCB后,出现了这样一个情况: 在我反复尝试走线后,走好线发现很困难,最后我才想到如果能把这个器件反转一下问题不就都解决了吗!自己 ...

  10. while循环小例

    # 使用while 循环输入 1 2 3 4 5 6 8 9 10 n = 1 while n <= 10: if n == 7: pass else: print(n) n = n + 1 # ...