【问题标题】:getting different output for character in Command line argument [duplicate]在命令行参数中为字符获取不同的输出[重复]
【发布时间】:2019-07-27 16:39:40
【问题描述】:
print("First  name: +args[0]);
print("Middle name: +args[1]);
print("Last   name: +args[2]);


java Demo Hello 123 ***
Output is Hello 123 .local

我希望Hello 123 *** 的输出为Hello 123 ***,但实际输出为Hello 123 .local 整数如何给出相同的输出,但*** 给出的是.local

【问题讨论】:

  • @Carcigenicate 是的,但我无法发布实际问题
  • @Carcigenicate clas Demo { public static void main(Strng[] args) { System.out.println("名字: +args[0]); System.out.println("中间名: +args[1]); System.out.println("Last name: +args[2]);` } } java Demo Hello 123 *** Output is Hello 123 .local 我希望 Hello 123 *** 的输出是 Hello 123 ***但实际输出是 Hello 123 .local inetrger 如何给出相同的输出,但 *** 给出的是 .local
  • @Carcigenicate 检查问题,如果你知道请回答问题
  • 您应该知道* 被某些命令行解释器视为特殊(替换为文件列表),因此实际行类似于“java Demo Hello .local Demo.class Demo.java someOtherFiles..." - 仍然 print("First name: + args[0]) 在 Java 中永远无效
  • @Carcigenicate 我正在路过你好 123 ***

标签: java


【解决方案1】:

您的操作系统使用路径名扩展的概念。这意味着当您将通配符 * 作为参数传递时,它会将其替换为任何文件。在当前目录中找到的第一个文件是 .local。 要克服它,您必须引用该参数并传递:Hello 123 "***"

【讨论】:

    猜你喜欢
    • 2022-12-12
    • 1970-01-01
    • 2014-02-15
    • 2016-03-21
    • 1970-01-01
    • 2014-03-29
    • 2013-10-15
    • 2014-04-17
    • 2020-07-11
    相关资源
    最近更新 更多