Java 如何在数字前加零

Java 如何在数字前加零,java,android,Java,Android,我正在运行下面的脚本和下面的logcat报告,因为目前它不起作用。有人能帮我把这个工作,如果可能的话,也解释一下我做错了什么 Calendar calendar = Calendar.getInstance(); sdf = new SimpleDateFormat("mm"); NValue = sdf.format(calendar.getTime()); NValue = String.format("%02d", NValu

我正在运行下面的脚本和下面的logcat报告,因为目前它不起作用。有人能帮我把这个工作,如果可能的话,也解释一下我做错了什么

     Calendar calendar = Calendar.getInstance();
         sdf = new SimpleDateFormat("mm");
         NValue = sdf.format(calendar.getTime());
         NValue = String.format("%02d", NValue);
Logcat报告:

05-10 14:02:52.281: E/AndroidRuntime(295): java.util.IllegalFormatConversionException: d is incompatible with java.lang.String

%s
用于字符串

String.format("%s", NValue);


这是否也会格式化1到01,2到02等,但10仍然是10?我想在数字前加上前缀,直到它是2个字符长的零。因为10已经是两个字符长了,所以它应该保留为10,但任何少于10的字符都应该加上一个零。@Max-与其问,为什么不试试它?@Stephen C我想了解一下,而不是我目前一直在做的反复试验。谢谢你,SamirSimpleDateFormat中的“MM”确保了两个字符。如果你解释了你想要这段代码做什么,这会有所帮助。
NValue
应该已经是你想要的格式的字符串,没有最后一行。
Calendar calendar = Calendar.getInstance();
        SimpleDateFormat sdf = new SimpleDateFormat("MM");
        String NValue = sdf.format(calendar.getTime());
        NValue = String.format("%s", NValue);
        System.out.println(NValue);