Java 无法连接的字符串
我试图将比赛的最后时间打印成一个字符串,因此我有一个名为FastTestTime的字符串属性的race对象,格式为分钟:秒。毫秒(即“1:15.36”) 在我的种族课上:Java 无法连接的字符串,java,Java,我试图将比赛的最后时间打印成一个字符串,因此我有一个名为FastTestTime的字符串属性的race对象,格式为分钟:秒。毫秒(即“1:15.36”) 在我的种族课上: public String getFastestTime() { if(fastestTime != null) return fastestTime; else return "Unknown"; } 在我看来: System.out.println("The fastest
public String getFastestTime() {
if(fastestTime != null)
return fastestTime;
else
return "Unknown";
}
在我看来:
System.out.println("The fastest time was " + race.getFastestTime() + " by " + race.getWinner());
出于某种原因,打印出来的唯一部分是“by”之后的所有内容。整个第一部分正在从印刷品中删除,我真的不知道为什么
如果我这样做:
System.out.println("The fastest time was " + race.getFastestTime());
打印出来的很好
有人有什么想法吗
更新:
修好了!看起来之后我不得不修剪绳子了,谢谢大家的帮助,我真的很感激 看起来像是
race.getWinner()
返回一个返回字符\r
作为其字符串的一部分,因此覆盖了之前的所有内容
在打印之前,请使用以下方法尝试清理race.getWinner()
:
race.getWinner().replaceAll("\\r","");
或:
可能在
最快时间
结束时有回车(\r
)。DoFastTestTime.trim()
“最快的时间”没有被打印?正确,只有时间应该在哪里后面的才有。race.GetFastTestTime()返回的字符串中有哪些字符?它是否有可能包含ANSI转义序列?如何计算fastestTime
?有可能race.getWinner()
将返回字符\r
作为其字符串的一部分,因此覆盖之前的所有内容。
race.getWinner().trim();