String.format不显示完整消息

时间:2016-03-30 14:43:58

标签: java

String Quote = String.format(
    "This triangle has an perimeter of %.2f", TP ," and an area of %.2f",TA
);
System.out.printf(Qoute);

以下代码打印出“

  

这个三角形的周长为17.94

“并且留下了”,“和”.2f“,”TA“的区域。我做错了什么?

3 个答案:

答案 0 :(得分:6)

你给出了错误的格式。后面的参数将被视为第一个参数的输入。试试

String quote = String.format(
    "This triangle has an perimeter of %.2f  and an area of %.2f", 
    TP ,TA
);

答案 1 :(得分:3)

你应该在最后传递所有参数

实施例

而是这样做:

String Quote = String.format(
    "This triangle has an perimeter of %.2f", TP ," and an area of %.2f",TA
);

...做

String Quote = String.format("This triangle has an perimeter of %.2f and an area of %.2f", TP, TA);
System.out.printf(Quote);

答案 2 :(得分:0)

根据doc

  

public static String format(String format, Object... args)

     

参数:
      格式 - 格式字符串
      args - 格式字符串中格式说明符引用的参数。如果参数多于格式说明符,则忽略额外参数

那么你的问题是:

  

“并且留下了”,“和”.2f“,”TA“的区域。我做错了什么?

由于在第一个arg之后忽略了额外的参数,它省略了“,”并且区域为%。2f“,TA”