如果想在java中用printf函数输出字符串“%d”,如何实现,为什么。还有请解释一下以下代码的执行结果。
import java.util.*;
public class q{
public static void main(String[] args){
Formatter f = new Formatter(System.out);
System.out.printf("%%");
System.out.printf("%");
}
}
首先,从javaSE5以后,java里面就有printf函数了
其次,加入import java.util.*一句是为了使用Formatter类,不加则报错,这里我是在做过其他试验后忘记删除这两句了
再者,我知道用System.out.println("%d");可以输出字符串“%d”,但我想知道的是如何通过System.out.printf()方法输出
最后,改程序编译不会报错,第一个输出的结果是一个百分号,第二个输出语句会出现异常UnknownFormatConversionException
我想知道为什么
这里的printf函数可能跟C语言里的printf函数类似的吧。
一个%会让编译器等待你所输出数据的类型,所以有错误。
求探讨
如果对java感兴趣的话,我们可以一起探讨。我的QQ号:1107948053。但是这个问题我还是不知道如何解释。刚刚看《java编程思想》上面看到相关问题,然后就试验了一下,结果就不知道如何解释了。既然是C语言风格的,那么就可以用"%d"来给一个整数占位,后面带一个整形的参数,就可以输出一个整数。而现在我想用该函数输出"%d"字符串,不知道如何操作了。我试过用转义字符“\”,还是不行……求高人……
追答我的QQ773467459,你加我吧,你的有问题呢