首页 > 解决方案 > 为什么我在尝试格式化字符串时会收到 IllegalFormatPrecisionException?

问题描述

当我用 Java 编写代码时,它显示了以下异常

线程“主”java.util.IllegalFormatPrecisionException:2 中的异常。

我不知道如何解决这个问题。这是供参考的代码(主要)。

ool2 time=new ool2();
System.out.println(time.toMil());

这是ool2中的方法调用。

public String toMil() {
    return String.format("%.2d:%.2d:%.2d",hr,min,sec);
}

oo2 代码:

public class oo2 {

    private int hr,min,sec; 

    public void setTime(int h,int m,int s) { 
        hr= (h>=0&&h<24)?h:0; 
        min= (m>=0&&m<60)?m:0; 
        sec= (s>=0&&s<60)?s:0;
    }

    public String toMil() { 
        return String.format("%.2d:%.2d:%.2d",hr,min,sec); 
    }
}

标签: javastring-formatting

解决方案


00:00:00使用下面的那样形成时间

String.format("%02d:%02d:%02d", hr, min, sec);

推荐阅读