为了账号安全,请及时绑定邮箱和手机立即绑定

如何从 Robert Sedgewick 的算法教科书中运行 Java 程序?

如何从 Robert Sedgewick 的算法教科书中运行 Java 程序?

智慧大石 2022-06-04 17:18:05
我为一个菜鸟问题道歉。我正在尝试在 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 中在哪里传递输入参数。任何帮助将不胜感激。
查看完整描述

3 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

进入“运行配置...”打开播放按钮的菜单。

//img1.sycdn.imooc.com//629b236d00018d3010730801.jpg

您可以在参数、环境选项卡和常用选项中找到所需的内容。实际上常见的是您需要的选项卡。



查看完整回答
反对 回复 2022-06-04
?
慕侠2389804

TA贡献1719条经验 获得超6个赞

我解决了。显然,图书网站上提供的较新的图书馆与我所拥有的书有所不同。


我将主要功能更改如下:


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)

{

    In i = new In(args[0]);

    In j = new In(args[1]);

    int[] whitelist = i.readAllInts();

    int[] iplist = j.readAllInts();

    Arrays.sort(whitelist);

    for (int key:iplist)

    { // Read key, print if not in whitelist.

        if (rank(key, whitelist) < 0)

        StdOut.println(key);

    }

}

}

然后通过


"tinyW.txt" "tinyT.txt"

作为 @GDG612 指示的程序参数。


查看完整回答
反对 回复 2022-06-04
?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

右键单击您的程序并选择Run As -> Run Configurations... 然后单击(x)= Arguments选项卡并将输入传递给程序下Program arguments



查看完整回答
反对 回复 2022-06-04
  • 3 回答
  • 0 关注
  • 114 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信