java - powershell '<' 运算符保留供以后在 Java 中使用

标签 java algorithm powershell

我已经阅读了很多关于这个问题的答案,但是没有找到关于两个文件之间的比较,实际上这是Algorithms一书的示例,基于BinarySearch,这是源代码

import java.util.Arrays;
import edu.princeton.cs.algs4.*;

public class prac1_1_23{

public static boolean BinaryLookup(int key, int[] arr) {
    int low = 0;
    int high = arr.length - 1;
    while(low <= high) {
        int mid = low + ((high - low) >> 1);
        if(key < arr[mid])
            high = mid - 1;
        else if(key > arr[mid])
            low = mid + 1;
        else
            return true;
    }
    return false;
}

public static void main(String[] args) {
    char symbol = '-';
    int[] whitelist = new In(args[0]).readAllInts();
    Arrays.sort(whitelist);
    while(!StdIn.isEmpty()) {
        int key = StdIn.readInt();
        boolean found = BinaryLookup(key, whitelist);
        if('+' == symbol && !found)
            StdOut.println(key);
        if('-' == symbol && found)
            StdOut.println(key);
    }
}
}

此示例使用了本书作者创建的库,可以通过 Algorithms 访问该库,问题是我什么时候想通过 Windows 的 PowerShell 运行这个程序,比如命令

java prac1_1_23 largeW.txt < largeT.txt

我遇到了一个问题 error

实际上我找到了运行这段代码的解决方案,但在 PowerShell 上无法解决它,这需要我使用本书作者编写的命令行程序,可以在“algs4.cs.princeton”网站上下载。 edu/windows/”,它需要用像

这样的命令行编译和运行程序
javac-algs4 prac1_1_23.java    //compile command

java-algs4 prac1_1_23 largeW.txt < largeT.txt   //run command

它确实有效,但我想知道我们是否可以使用原始 CLI,因为我发现有人可以在 Linux 操作系统上毫无问题地运行原始代码。

感谢任何帮助,谢谢。

最佳答案

您是否尝试过在重定向前加上 --% 前缀?运算符(operator)?例如:

   cmd /c --% java prac1_1_23 largeW.txt < largeT.txt

上面的命令为你的命令加上了三个前缀,让我来解释一下:

  • cmd调用 cmd.exe,它知道 < 是什么意思

  • /c告诉 cmd.exe 处理命令行上的一个命令,然后退出。

  • --%告诉 PowerShell 单独保留命令行的其余部分,以便 cmd.exe 可以处理 <重定向。

这样你就不需要命令脚本了。

关于java - powershell '<' 运算符保留供以后在 Java 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39503642/

相关文章:

Java:仅使用一个循环打印数组的第一、第四、第七……?

algorithm - 不考虑返回起点的旅行商问题(TSP)的问题名称是什么?

powershell - 自动翻译报告脚本中的通用访问权限

algorithm - 生成均匀分布的随机噪声

powershell - Powershell将电子邮件发送给Excel电子表格中的收件人

Powershell Test-Path 返回 false,但文件存在

java - 捕获 SAXParser 的字节数/偏移量

java ; HttpURL连接;查询项重复为 `paramName=value, value` 。预计为 `paramName=value`

java - 在 Java 小程序中加载图像 AccessControlError

algorithm - 在线性时间内找到最大的全 1 子矩阵