尝试将计时器读取为00:00:00

时间:2018-02-01 21:43:39

标签: java

所以我试图创建一个将数字读取为两位数的toString方法。例如,定时器的输出通常为:0:0:0。我希望它读作00:00:00。这是代码:

public String toString() 
{
String numberAsString = String.format ("%02d", hours + ":" + minutes + ":" + seconds);

     return numberAsString;
}

运行时我收到错误:

Exception in thread "main" java.util.IllegalFormatConversionException: d != java.lang.String
at java.util.Formatter$FormatSpecifier.failConversion(Unknown Source)
at java.util.Formatter$FormatSpecifier.printInteger(Unknown Source)
at java.util.Formatter$FormatSpecifier.print(Unknown Source)
at java.util.Formatter.format(Unknown Source)
at java.util.Formatter.format(Unknown Source)
at java.lang.String.format(Unknown Source)
at TimeA.toString(TimeA.java:57)
at Relay.main(Relay.java:22)

任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:1)

您的<header>Header</header> <div class="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut interdum accumsan quam, a vestibulum quam lacinia vel. Nam id odio rhoncus, viverra nisi quis, vehicula lectus. Duis sodales, mauris a tincidunt elementum, odio lorem finibus est, in vestibulum nunc leo dignissim tortor. Vestibulum sed diam id nisi congue pretium. Suspendisse venenatis posuere lectus, non pretium sapien blandit placerat. Fusce mollis ullamcorper tincidunt. Mauris consectetur porta justo quis mollis. Integer non nisi id velit tincidunt tristique. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vivamus dictum orci libero, et vulputate lorem rutrum in. Nam eget ipsum massa. Proin aliquam felis orci, fermentum dignissim magna congue nec. Maecenas pharetra sodales tellus eu maximus. Curabitur iaculis, diam quis finibus cursus, justo ex luctus eros, ut venenatis eros diam quis dolor. Vestibulum eget porta odio. Quisque et sodales tellus, non fermentum odio. Praesent a nulla in ipsum pellentesque elementum nec quis neque. Sed congue risus libero, sed aliquam libero euismod et. Nunc id ultrices risus. Vestibulum ut diam sapien. Donec semper turpis vitae iaculis rutrum. Donec dignissim ornare massa, ut rutrum diam egestas vitae. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Suspendisse potenti. Praesent vulputate iaculis tincidunt. Phasellus sit amet dolor a justo mollis fermentum. Quisque a varius nisl. Sed vel nisl sit amet mi mollis sagittis at in lacus. Cras at velit sit amet nibh viverra dignissim vel ullamcorper mi. Curabitur convallis ante vel sapien gravida, non feugiat nisi dictum. Maecenas vitae ullamcorper eros, eget mollis purus. Nam rutrum eros eu rhoncus suscipit. Praesent sit amet posuere eros. Mauris ut nisl a elit gravida luctus et id orci. Etiam tempor, nunc id volutpat interdum, ligula libero imperdiet magna, auctor mattis nunc nisl ac augue.</div> <footer>Footer</footer> syntax不正确,我们无法在格式之间添加,而是留下占位符并提供以逗号(,)分隔的值,而不是它的工作方式。< / p>

String.format

如果您有String.format("%02d:%02d:%02d", hours,minutes,seconds) hours =0min = 0

,请说明
seconds = 0

这将输出String.format("%02d:%02d:%02d", 0L,0L,0L)

答案 1 :(得分:0)

您尝试将字符串格式化为数字(00:00:00)。 使用类似的东西

%02d

答案 2 :(得分:0)

必须是:

String.format ("%02d:%02d:%02d", hours, minutes, seconds);

在你的代码中,你首先连接小时,分钟和秒(产生0:0:0)。在连接之前,您需要先添加前导零。或者您可以使用格式化功能。

错误消息d != java.lang.String是,因为hours + ":" + minutes + ":" + seconds返回一个字符串。并且无法使用数字格式化程序格式化字符串。