Eclipse直接运行算法第4版例子(重定向和读取指定路径文件)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
在阅读算法(Algorithms Fourth Edition) 第4版时,第一个二分查找法的例子时:
package algs.search; 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) { @SuppressWarnings("deprecation") int[] whitelist = In.readInts(args[0]); Arrays.sort(whitelist); while(!StdIn.isEmpty()) { int key = StdIn.readInt(); if(rank(key, whitelist) < 0) StdOut.println(key); } } }
发现书本中是用命令行直接执行程序
% java BinarySearch tinyW.txt < tinyT.txt
50
99
13
但是命令行直接运行的话,在编译时需要使用algs4.jar包中的类,所以我们编译以及运行代码时都需要指定jar包参数,觉得麻烦,想直接配置在Eclipse中,网上查找大量资料,总结出以下方式:
tinyT.txt文件重定向设置,单击Run As—>Run Configurations
选择Common项,勾选Input File复选框,选择要输入的tinyT.txt文本
设置输入参数,同样在Run Configurations中,Arguments项
注意: 此处参数tinyW.txt是相对路径,如跟图示配置一致,请将tinyW.txt文件拷贝至项目根路径,即/src/ 上级目录。
执行Run,成功!