win7系统《算法》第四版 IDEA 运行环境的搭建运行BinarySearch.java

对于红宝书算法第四版,基于Windows 7系统使用IntelliJ IDEA刷各个算法时,需要配置环境,现对步骤做一下总结:

1.按照正常套路安装IDEA软件及相关版本JKD,并完成相关的配置。

2.将下载好的algs4.jar放在IDEA对应的JDK目录下lib文件夹中。

        

3.导入到IDEA的方法:

打开File->Project Structure->Modules->Dependencies,然后点击右上角加号,选择JARs or directories,找到刚才algs4.jar所在目录,选择algs4.jar,确认即可。

4.配置环境变量:

在系统变量中添加变量 JAVA_HOME,变量值为JDK的安装目录

在系统变量中添加CLASSPATH:.;%JAVA_HOME%\lib\algs4.jar;%JAVA_HOME%\lib;

在系统变量的Path中添加%JAVA_HOME%\bin;

5.重启电脑让环境变量生效。

6.把下载的数据文件algs4-data.zip解压到一个文件夹,比如D:\work\javalearning,以运行BinarySearch.java为例。

  • 按照步骤编写BinarySearch.java
  • package com.scott.algs;
    import java.util.Arrays;
    import edu.princeton.cs.algs4.In;
    import edu.princeton.cs.algs4.StdIn;
    import edu.princeton.cs.algs4.StdOut;
    public class BinarySearch {
        public static int rank(int key, int[] a) {
            int lo = 0;
            int hi = a.length - 1;
            while (lo <= hi) {
                int mid = lo + (hi - lo) / 2;
                if (key < a[mid]) hi = mid - 1;
                else if (key > a[mid]) lo = mid + 1;
                else return mid;
            }
            return -1;
        }
        public static void main(String[] args)
        {
            //int [] whitelist = In.readInts(args[0]);
            //int[] whitelist = In.readAllInts();
            In in = new In(args[0]);
            int[] whitelist = in.readAllInts();
            Arrays.sort(whitelist);
            while(!StdIn.isEmpty())
            {
                int key  = StdIn.readInt();
                if (rank(key,whitelist)==-1)
                    StdOut.println(key);
            }
        }
    }

    再点击IDEA左下方Terminal,进入命令行模式,切换至BinarySearch.java对应的目录下比如D:\work\javalearning\src\com\scott\algs>

  • 编译 javac BinarySearch.java
  • 切换路径至src对应的目录下(这一步非常重要,跳过这一步会报错D:\work\javalearning\src> 
  • 运行 java com.scott.algs.BinarySearch D:\work\javalearning\algs4-data\tinyW.txt < D:\work\javalearning\algs4-data\tinyT.txt

编译的命令为:javac [文件位置]

运行的命令为:java [包名.类名]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章