为什么 printf 在 Java 中不能正常工作?JAVA

我在我的 Eclipse 软件中遇到了这种类型的错误:


问题


为什么我会收到错误消息?


代码 :


    package loops;

    public class Escapey {

        public static void main(String[] args) {

            String name ="micheal";

            System.out.printf("i am %s, my friend name also %s",name);

        }

    }

错误信息:


线程“main”中的异常 java.util.MissingFormatArgumentException:java.base/java.util.Formatter.format(Formatter.java:2672) at java.base/java.io.PrintStream.format( PrintStream.java:1053) 在 java.base/java.io.PrintStream.printf(PrintStream.java:949) 在 loops.Escapey.main(Escapey.java:5)


输出除外:(


繁花如伊
浏览 287回答 3
3回答

倚天杖

您可以指定参数两次,或者在格式字符串中引用时指定索引:System.out.printf("i am %1$s, my friend's name also %1$s", name);

Helenr

通过有%s两个printf期望two参数喜欢System.out.printf("i am %s, my friend's name also %s",name, name);

一只名叫tom的猫

一种解决方案,System.out.print("i am " + name + ", my friend name also " + name); // If you want to continue on same line System.out.println("i am " + name + ", my friend name also " + name); // If you want to continue on next line 由于您有两个%s,因此需要两个参数,因此您可以指定两个参数。System.out.printf("i am %s, my friend name also %s",name, name);或者在字符串中指定一个索引。%1$s将得到第一个参数,在这种情况下name。System.out.printf("i am %1$s, my friend's name also %1$s", name);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java