当前位置: 首页 > 知识库问答 >
问题:

为什么我的Java输出字符串结尾是%字符?

施永宁
2023-03-14

我在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");
    }
}
DooBeeDooBeeDo% 

为什么那个特殊字符(%)会出现在字符串的末尾,我如何编写代码来去掉它?

共有1个答案

华瀚漠
2023-03-14

您可能正在使用ZSH终端,如果进程没有提供新行,它将自动以%字符(对于根用户为#)结束行(或者更确切地说,“在同一行中开始新行”),并创建名为部分行的东西

请注意,您使用的是system.out.print而不是system.out.println

在这里阅读更多:

    null
 类似资料:
  • 问题内容: 我正在解决一个简单的问题: 在Java中删除字符数组中的某些字符,想法很简单: 我想输入一个信号,表示当我们想要使用例如生成一个字符串时,不必考虑数组的其余部分 Java中是否有这样的字符?(我想是,但我不确定) 例如,当我们调用: 这将被打印: 虽然我想得到,但我不想使用新的数组来做到这一点 问题答案: Java不会像C那样“标记”字符串的结尾。它跟踪长度和值,因此字符串中可以包含零

  • 我是java初学者,我对上述程序的输出感到困惑。请给我解释一下输出的原因。

  • 情况是这样的。我正在根据从数据库获取的数据动态生成要在JPanel上显示的组件。系统会提示用户输入一个整数,并根据该整数进行一些计算。输出应以十进制值形式给出。因此,我将答案分配给了一个double,并使用decimalformat进行格式化。 当我将double值传递给DecimalFormat的format()方法时,即使我没有输入任何值为0,也会出现错误。 生成错误的代码段, 请考虑变量和是

  • 问题内容: 测试字符串是否以子字符串结尾的标准PHP方法是: 这是最快的方法吗? 问题答案: 阿萨夫所说的是正确的。PHP中有一个内置函数可以做到这一点。 如果比PHP 长,则会发出警告,因此您需要首先进行检查。

  • 问题内容: 我有以下字符串: 如果仅打印此内容,它将输出如下内容(当然不会“按字面意思”打印): 调用方法时,我想获取新行()字符之间的所有字符串,甚至最后还有空字符串。 例如,如果我今天这样做: 我希望它像这样打印出来(输出A): 当前,它以这种方式打印(输出B),并且所有结尾的空字符串都将被跳过: 如何使方法像输出A那样包含空字符串?我当然可以编写多行代码,但是想知道,在我浪费时间尝试实现这一

  • 问题内容: 当我执行以下代码时,输​​出为“ nullHelloWorld”。Java如何处理null? 问题答案: 您正在尝试将值连接到。这由“字符串转换”控制,当一个操作数是a时发生,该转换被JLS的5.1.11节覆盖: 现在只需要考虑参考值: 如果引用为null,则将其转换为字符串“ null”(四个ASCII字符n,u,l,l)。