【发布时间】:2019-03-02 04:49:54
【问题描述】:
我编写了最简单的 Hello, World! 应用程序:
public class Helloworld {
public static void main(String[] args) {
System.out.println("Hello\nHello");
}
}
运行时,结果为:
Hello
Hello
但如果我使用Hello\nHello 作为参数,
public class Helloworld {
public static void main(String[] args) {
System.out.println(args[0]);
}
}
结果是Hello\nHello。如何得到两行结果?
【问题讨论】:
-
@BrankVictoria 我不认为这是这里的问题 - 问题是命令行参数如何到达 java
-
@Hulk 你说得对,我想念这个问题。控制台确实有可能格式化字符串。我的意思是,如果您输入“Hello\nHello”,args[0] 包含的内容将是“Hello\\nHello”
-
你知道,现在我很好奇......我从来不需要那样的东西......通常,当我需要新行作为参数时,我会使用包含我需要的所有属性的文件输入...... .
-
如果您使用的是 Linux 或 MacOS,或者任何系统上的 Bash shell,那么您可以使用
java Helloworld 'line one<Enter>line two'其中<Enter>表示您按下 Enter 键,这样两行就会出现在不同的行上.单引号将它们保留为单个参数。 -
@DodgyCodeException 正确,你是唯一真正理解这个问题的人!一旦它已经完成,所有的答案都试图修复伤害。问题更多是关于将换行符作为参数传递给您的程序,而不是关于特定程序或 Java。
标签: java