我是java的初学者,参加了课程算法,它由普林斯顿提供。我被困在重定向和管道 40页的第1章重定向和管道
我用notepadd ++与nppexec运行Java,而我的执行所写成
NPP_SAVE
javac -encoding UTF-8 "$(FULL_CURRENT_PATH)"
echo
echo ==========编译成功后开始运行==========
java -cp "$(CURRENT_DIRECTORY);D:\Program Files\java\jdk\lib\algs4.jar" "$(NAME_PART)"
然而,当我使用重定向符号>和<如
NPP_SAVE
javac -encoding UTF-8 "$(FULL_CURRENT_PATH)"
echo
echo ==========编译成功后开始运行==========
java -cp "$(CURRENT_DIRECTORY);D:\Program Files\java\jdk\lib\algs4.jar" "$(NAME_PART)" largeW.txt < largeT.txt
程序不起作用。所以我认为符号>和<可能在cmd中使用,我想知道如何使用nppexec重定向。
任何建议是有帮助的。谢谢。
这个例子是从书第9页:
import edu.princeton.cs.algs4.*;
import java.util.*;
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)
{
In in = new In("G:\\java\\1.1\\binarysearch\\BinarySearch.txt");
int[] whitelist = in.readAllInts();
Arrays.sort(whitelist);
while (!StdIn.isEmpty())
{
int key = StdIn.readInt();
if (BinarySearch.rank(key, whitelist)!= -1) StdOut.println("here it is\n");
else StdOut.println("where it is\n");
}
}
}
执行nppexec的是
NPP_SAVE
javac -encoding UTF-8 "$(FULL_CURRENT_PATH)"
echo
echo ==========编译成功后开始运行==========
java -cp "$(CURRENT_DIRECTORY);D:\Program Files\java\jdk\lib\algs4.jar" "$(NAME_PART)" largeW.txt < largeT.txt
的largeW.txt和largeT.txt有一些整数在其中。
但是这个执行不会读取两个txt。
我会完成我的问题。感谢您指出这一点。 – gaoxinge