【发布时间】:2013-11-14 11:02:05
【问题描述】:
在用 Java 编写 Quine(即自我复制程序)时,我尝试使用制表符缩进输出行:
...
char tab = '\t';
char qm = 34;
char comma = ',';
...
System.out.println(tab + tab + tab + qm + listing[i] + qm + comma);
...
这不起作用,因为“tab + tab + ...”中的加号运算符会添加制表符值而不是生成字符串 (61 = 9 + 9 + 9 + 34):
...
61 public static void main(String[] args) {",
...
在开头放置一个空字符串就可以了:
...
System.out.println("" + tab + tab + tab + qm + listing[i] + qm + comma);
...
但是,我不能在 Quine 设置中使用纯引号,因为我需要将它们转义以输出程序文本本身。
我想知道是否可以在不显式使用引号或其他 Java 类的情况下强制将加号运算符解释为字符串连接?
【问题讨论】: