println 改写了第一个参数

println overtypes first argument

抱歉这个基本问题,我对 Java 还是很陌生。

当我尝试使用 println 打印后跟冒号的 String 变量时,冒号改写了 String 变量的第一个字母。

因此,例如我键入以下命令

System.out.println(planetName + ":");

...并将其作为输出(假设行星名称为 Zeta Alpha II)

:eta Alpha II

我做错了什么?如果我省略冒号,那么变量会正常打印。其他一切正常,我尝试了 printf 解决方案并使用 char 变量也无济于事。

答案:由于 JimGarrison 在评论中非常友善地建议,输入文件有 \r 字符(即它是 CRLF DOS \r\n 格式。) , dos2unix 的快速 运行 修复了输入数据并解决了问题

输入文件为DOS格式,每行以\r\n结尾。

使用 Dos-to-Unix 实用程序删除 \r,例如 dos2unix