我是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