线程“main”中的异常java.util.UnknownFormatConversionException:Conversion ='O'

时间:2015-09-14 20:54:57

标签: java

如果这个问题已经发布,我很抱歉,但我找不到答案。

我一直在youtube上看java的newboston教程,现在我收到了这个错误:

Exception in thread "main" java.util.UnknownFormatConversionException: Conversion = 'O'
at java.util.Formatter$FormatSpecifier.conversion(Unknown Source)
at java.util.Formatter$FormatSpecifier.<init>(Unknown Source)
at java.util.Formatter.parse(Unknown Source)
at java.util.Formatter.format(Unknown Source)
at java.util.Formatter.format(Unknown Source)
at java.lang.String.format(Unknown Source)
at tuna.toMilitary(tuna.java:14)
at apples.main(apples.java:4)

我不明白我做错了什么,就像他有的一样(至少我找不到任何不同的东西。

class apples{
public static void main (String[] args) {
    tuna tunaObject = new tuna();
    System.out.println(tunaObject.toMilitary());
}
public class tuna {
private int hour;
private int minute;
private int second;

public void setTime(int h, int m, int s){
    hour = ((h>=0 && h<24) ? h : 0);
    minute = ((m>=0 && m<60) ? m : 0);
    second = ((s>=0 && s<60) ? s : 0);

}

public String toMilitary(){
    return String.format("%O2d:%O2d:O2d", hour, minute, second );
}

非常感谢。 (我知道每个代码块中都缺少一个“}”

1 个答案:

答案 0 :(得分:1)

"%O2d:%O2d:O2d"中,将O(字母)替换为0(数字)

正如Cinnam提到的那样,%缺失了。

最终格式必须为"%02d:%02d:%02d"