【发布时间】:2021-10-25 11:28:29
【问题描述】:
我在 Linux 上使用的 Java 版本是:
- openjdk 版本“16.0.2”2021-07-20
- OpenJDK 运行时环境(内部版本 16.0.2+7)
- OpenJDK 64 位服务器 VM(内部版本 16.0.2+7,混合模式)
这是我从 Head-First Java 书籍中编译的代码:
public class DooBee {
public static void main(String[] args) {
int x = 1;
while (x < 3) {
System.out.print("Doo");
System.out.print("Bee");
x = x + 1;
}
if( x == 3) {
System.out.print("Do");
}
}
}
我是这样编译的:
javac DooBee.java
java DooBee
这是输出:
DooBeeDooBeeDo%
为什么这个特殊字符(%)出现在字符串的末尾,我该如何编写代码来消除它?
【问题讨论】:
-
无法重现,您的代码不会产生这个。由于您不在代码中的任何位置打印换行符,
%可能只是您的 shell 的提示。尝试添加一个空的System.out.println()添加代码的末尾。 -
我在 System.out.print("Do") 之后添加了一个 System.out.println() 并且特殊字符不再出现。另外我在shell中编写并编译了代码,所以你是正确的。为什么它首先出现?
-
我敢打赌它仍然会出现,但只是下一行,你期望你的 shell 提示符的地方,因为它就是这样。