如何解决Java打印错误(Java版本17 IntelliJ Idea)

46scxncf  于 2022-10-01  发布在  Java
关注(0)|答案(1)|浏览(117)
public class Time {

    public static void main(String[] args) {
        // ı do it randomly date
        int hour = (int) (Math.random() * 24);
        int minute = (int) (Math.random() * 60);
        int second = (int) (Math.random() * 100);

        // calculate second
        int calculate = 60 * (hour * 60) + (minute * 60) + second;

        if (hour < 12) {
            System.out.println(hour + ":" + minute + ":" + second + "am");
            System.out.println(calculate);
        } else {
            System.out.println(hour + ":" + minute + ":" + second + "pm");
            System.out.println(calculate);
        }

        int cal = ((calculate * 86400) / 100);

        // error here
        System.out.printf("Day pass: %" + cal);
    }
}

输出

14:54:92pm
53732
Exception in thread "main" java.util.UnknownFormatConversionException: Conversion = '3'
    at java.base/java.util.Formatter.parse(Formatter.java:2750)
    at java.base/java.util.Formatter.format(Formatter.java:2671)
    at java.base/java.io.PrintStream.format(PrintStream.java:1209)
    at java.base/java.io.PrintStream.printf(PrintStream.java:1105)
    at Time.main(Time.java:23)
yhuiod9q

yhuiod9q1#

对于print tf方法中的整数,您应该在“%”之后加上“d”

更改System.out.printf("Day pass: %" + cal);

转至System.out.printf("Day pass: %d" + cal);

相关问题