You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java控制台输出部分内容自动换行问题排查求助

解决控制台输出中途自动换行的问题

嘿,我一眼就注意到问题大概率出在你的Point类的toString()方法里!

你在代码里直接把point[0]和point[1]拼接到输出字符串中,如果Point类的toString()方法返回的内容末尾带有换行符(\n),那每次打印point[0]的时候就会触发自动换行,导致后续的Given Point、Line等内容被挤到下一行,这就是你遇到“部分内容无理由换行”的核心原因。

错误的toString()示例(导致换行的根源)

如果你的Point类是这么实现toString()的,那肯定会出问题:

public class Point {
    private int x;
    private int y;

    // 其他属性和方法...

    @Override
    public String toString() {
        return x + "," + y + "\n"; // 这里的\n会强制触发换行!
    }
}

正确的toString()实现

把多余的换行符去掉,改成这样:

@Override
public String toString() {
    return x + "," + y;
}

修改之后,你原来的System.out.print语句就会把所有内容连续输出在同一行,不会再出现中途换行的情况。

另外补充一点:如果你的Point类没有重写toString(),默认的Object.toString()不会包含换行符,所以这种情况可以排除——显然你是重写了这个方法才导致的问题。

内容的提问来源于stack exchange,提问作者B. Rain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:12:56