我正在尝试将比赛的最后时间打印成字符串,因此我的race对象具有一个名为fasterTime的字符串属性,格式为Minutes:Seconds.Milliseconds(即“1:15.36”)
在我的种族课程中:
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());
打印得很好。
有人有什么想法吗?
更新:
修好了!看起来我不得不修剪弦乐,谢谢大家的帮助,我真的很感激!
答案 0 :(得分:6)
似乎race.getWinner()
返回一个返回字符\r
作为其String的一部分,因此先覆盖所有内容。
在使用以下内容打印之前尝试清理race.getWinner()
race.getWinner().replaceAll("\\r","");
或:
race.getWinner().trim();
答案 1 :(得分:2)
可能在\r
末尾有回车(fastestTime
)。做fastestTime.trim()
。