【问题标题】:Why getting argument when * doesnt work in Java?为什么 * 在 Java 中不起作用时会出现参数?
【发布时间】:2020-06-29 16:57:56
【问题描述】:

我是 Java 新手,我希望程序获得不同的符号作为参数。例如: java program # 在程序中,我将字符串转换为 char,如下所示: char c = args[0].charAt(0); 或像这样: char [] c = args[0].toCharArray(); 但是当我输入*时,它不起作用。我打印并得到 D 甚至文件名。

【问题讨论】:

  • “当我放 * 时,它不起作用”是什么意思?你的程序应该做什么?请给我们看一些代码。
  • 许多 shell 会将命令中的 * 扩展为文件列表。这超出了 Java 的控制范围。您可以加上引号,"*",以避免扩展。
  • 我尝试在cmd中运行程序,首先我通过命令javac Program.java编译然后:java Program *,其中star是第一个参数
  • 我不能使用引号
  • 为什么不能使用引号?

标签: java console arguments


【解决方案1】:

当您在命令行中使用 * 字符时,它会扩展 - 这就是您获得文件名/文件名列表的原因。

您可以尝试转义星号:

  • 使用反斜杠\java program \*
  • 使用双引号"(也应该转义):java program \"*\" 但是,在这两种情况下,您都可能会得到星号和转义字符。

类似问题的其他解决方案见here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-30
    • 1970-01-01
    • 2019-05-02
    • 2010-09-23
    • 2019-05-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多