1

我试图理解为什么我的 printf 语句之一失败。下面的#1 很好,但#2 失败,最后出现异常。这是什么原因造成的?

0       String LOCATION = "http://www.mywebsite.web/";
1       System.out.printf(" <img src=\"%sIMAGE.gif\">", LOCATION);   
2       System.out.printf(" <img src=\"%sIMAGE.gif\" width=\"25%\" height=\"25%\" border=0>", LOCATION);

Exception in thread "main" java.util.UnknownFormatConversionException: Conversion = '"'
    at java.util.Formatter.checkText(Formatter.java:2519)
    at java.util.Formatter.parse(Formatter.java:2501)
    at java.util.Formatter.format(Formatter.java:2430)
    at java.io.PrintStream.format(PrintStream.java:937)
    at java.io.PrintStream.printf(PrintStream.java:838)
    at MyCode.main(MyCode.java:292)

任何想法是什么原因造成的?

4

4 回答 4

3

干得好

String LOCATION = "http://www.mywebsite.web/";
System.out.printf(" <img src='%sIMAGE.gif'>", LOCATION);   
System.out.printf(" <img src='%sIMAGE.gif' width='25%%' height='25%%' border=0>", LOCATION);

我已经替换"'看起来很简单)会像魅力一样工作html "'做得很好
对于,它%应该%%%%

于 2012-08-12T06:30:44.657 回答
2

问题在于百分号。由于 % 用作格式字符串。您可以在其前面插入 % 作为文字,并在其前面加上另一个百分比... %%

System.out.printf(" <img src=\"%sIMAGE.gif\" width=\"25%%\" height=\"25%%\" border=0>", LOCATION);
于 2012-08-12T06:37:19.457 回答
1

异常表示这%"不是有效的格式说明符。您应该在第 2 行中转义您的%登录:

System.out.printf(" <img src=\"%sIMAGE.gif\" width=\"25%%\" height=\"25%%\" border=0>", LOCATION);
于 2012-08-12T06:16:27.103 回答
0
%\"

不是有效的 printf 字段。

于 2012-08-12T06:16:16.930 回答