首页 > 解决方案 > 有人能看到我的代码并用整数说出 %s 的任何替代方案吗?

问题描述

%s 如何为 int 工作?

   package loops;

    public class Checking {
    public static void main(String[] args) {
        String formatter = "hello";
        int formatter1 = 2;
        System.out.printf("%s friend %n",formatter);
        System.out.printf("%s cup of coffee please",formatter1);
        /* problem is
        %s stands for string
        How %s is work for integer in formatter 1 (System.out.printf("%s cup of coffee please",formatter1);
        "i am beginner in java,
        */
    }
    }

输出正确

但我想知道整数是否有替代品?

标签: java

解决方案


整数的符号是%d​​(参见文档)。并%s通过简单地调用 int 来工作Integer.toString

从文档:

's', 'S' Ifarg implementsFormattable arg.formatTo , thenarg.toString is invoked. Otherwise, the result is obtained by invoking().

因此,当您传递一个intis 时,它会自动装箱Integer并调用Integer该方法.toString,因此您的int成为一个String.

一般来说,我建议阅读手册,特别是如果您是新手程序员。作者的许多智慧都被提炼到文档中。


推荐阅读