【发布时间】:2019-02-04 16:26:11
【问题描述】:
对于一个新手问题,我深表歉意。我正在尝试在 Eclipse 中运行由 Robert Sedgewick 和 Kevin Wayne 编写的算法第 4 版书中给出的 Java 程序:https://algs4.cs.princeton.edu/home/
程序的输入参数有问题。
例如以下程序:
import java.util.Arrays;
public class BinarySearch
{
public static int rank(int key, int[] a)
{ // Array must be sorted.
int lo = 0;
int hi = a.length - 1;
while (lo <= hi)
{ // Key is in a[lo..hi] or not present.
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]);
Arrays.sort(whitelist);
while (!StdIn.isEmpty())
{ // Read key, print if not in whitelist.
int key = StdIn.readInt();
if (rank(key, whitelist) < 0)
StdOut.println(key);
}
}
}
输入参数是:
% java BinarySearch tinyW.txt < tinyT.txt
我不知道在 Eclipse 中在哪里传递输入参数。任何帮助将不胜感激。
【问题讨论】:
-
Go to Run->Run As-> Run configuration ... 你会看到命令行参数文本框,你可以在其中添加参数
-
int key = StdIn.readInt();这不起作用。除非你使用lib。 -
由于您的程序依赖于重定向,因此您必须打开一个 cmd 窗口并从命令行运行 Java。 IDE 不支持文件重定向。
-
@RealSkeptic 我在 cmd 中尝试过。但它会引发错误。命令中的“
-
请把错误添加到您的问题中。