【问题标题】:Using \n as delimiter prints an extra empty line使用 \n 作为分隔符会打印一个额外的空行
【发布时间】:2015-07-22 16:58:47
【问题描述】:

我有以下代码:

Scanner input = new Scanner(System.in);
input.useDelimiter("\n")
System.out.println(input.next());
System.out.println("end");

当我运行它并输入“orange apple”然后输入时,它会打印出来

橙苹果

结束

而不是

橙苹果
结束

这是我真正想要打印的。我不知道为什么它一直打印一个额外的空行。我该如何解决这个问题?

【问题讨论】:

    标签: java newline java.util.scanner delimiter


    【解决方案1】:

    System.out.println 已经创建了一个新行,而 System.out.print 没有。因此,当 System.out.println\n 一起使用时,您将创建 2 个新行。

    【讨论】:

    • 嗯,抱歉,但我不太明白“与 \n 一起使用”的含义......因为 \n 是一个分隔符,它是否应该从 input.next() 返回的内容中排除?
    【解决方案2】:

    System.out.println 自动将光标移动到下一行,“\n”也做同样的事情。因此,在您的程序中,您同时使用这两种方法,这就是输入 2 条新行的原因。使用 System.out.println 或使用 System.out.print 和 "\n"。

    【讨论】:

    • 我很抱歉,但我不明白“使用两种方式”是什么意思..我将 '\n' 设置为分隔符,所以不应该 input.next() 只返回“橙苹果" 因为这是分隔符('\n')之前的标记?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-03
    • 2016-08-06
    • 1970-01-01
    • 2015-10-15
    • 1970-01-01
    相关资源
    最近更新 更多