java中用print函数的输出问题。
如果想在java中用printf函数输出字符串“%d”,如何实现,为什么。还有请解释一下以下代码的执行结果。importjava.util.*;publicclassq{...
如果想在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("%");
}
} 展开
import java.util.*;
public class q{
public static void main(String[] args){
Formatter f = new Formatter(System.out);
System.out.printf("%%");
System.out.printf("%");
}
} 展开
4个回答
展开全部
用printf输出"%d",可以这样printf("%s","%d"); 这个是对的,本人亲测
// 定义一些变量,用来格式化输出。
05 double d = 345.678;
06 String s = "你好!";
07 int i = 1234;
08 // "%"表示进行格式化输出,"%"之后的内容为格式的定义。
09 System.out.printf("%f", d);// "f"表示格式化输出浮点数。
11 System.out.printf("%9.2f", d);// "9.2"中的9表示输出的长度,2表示小数点后的位数。
13 System.out.printf("%+9.2f", d);// "+"表示输出的数带正负号。
15 System.out.printf("%-9.4f", d);// "-"表示输出的数左对齐(默认为右对齐)。
17 System.out.printf("%+-9.3f", d);// "+-"表示输出的数带正负号且左对齐。
19 System.out.printf("%d", i);// "d"表示输出十进制整数。
21 System.out.printf("%o", i);// "o"表示输出八进制整数。
23 System.out.printf("%x", i);// "x"表示输出十六进制整数。
25 System.out.printf("%#x", i);// "#"表示输出带有十六进制标志的整数。
27 System.out.printf("%s", s);// "s"表示输出字符串。
29 System.out.printf("输出一个浮点数:%f,一个整数:%d,一个字符串:%s", d, i, s);
30 // 可以输出多个变量,注意顺序。
32 System.out.printf("字符串:%2$s,%1$d的十六进制数:%1$#x", i, s);
33 // "X$"表示第几个变量。
// 定义一些变量,用来格式化输出。
05 double d = 345.678;
06 String s = "你好!";
07 int i = 1234;
08 // "%"表示进行格式化输出,"%"之后的内容为格式的定义。
09 System.out.printf("%f", d);// "f"表示格式化输出浮点数。
11 System.out.printf("%9.2f", d);// "9.2"中的9表示输出的长度,2表示小数点后的位数。
13 System.out.printf("%+9.2f", d);// "+"表示输出的数带正负号。
15 System.out.printf("%-9.4f", d);// "-"表示输出的数左对齐(默认为右对齐)。
17 System.out.printf("%+-9.3f", d);// "+-"表示输出的数带正负号且左对齐。
19 System.out.printf("%d", i);// "d"表示输出十进制整数。
21 System.out.printf("%o", i);// "o"表示输出八进制整数。
23 System.out.printf("%x", i);// "x"表示输出十六进制整数。
25 System.out.printf("%#x", i);// "#"表示输出带有十六进制标志的整数。
27 System.out.printf("%s", s);// "s"表示输出字符串。
29 System.out.printf("输出一个浮点数:%f,一个整数:%d,一个字符串:%s", d, i, s);
30 // 可以输出多个变量,注意顺序。
32 System.out.printf("字符串:%2$s,%1$d的十六进制数:%1$#x", i, s);
33 // "X$"表示第几个变量。
展开全部
java里好像是没有printf函数的,输出的格式是System.out.print(".....");
你要输出%d,只要System.out.print("%d");即可。
这段代码是有错误的,import java.util.*;这句可以去掉。
输出语言System.out.print("%%");
如果你要换行,则System.out.println("%");
如果修改后执行结果是
%%
%
你要输出%d,只要System.out.print("%d");即可。
这段代码是有错误的,import java.util.*;这句可以去掉。
输出语言System.out.print("%%");
如果你要换行,则System.out.println("%");
如果修改后执行结果是
%%
%
更多追问追答
追问
首先,从javaSE5以后,java里面就有printf函数了
其次,加入import java.util.*一句是为了使用Formatter类,不加则报错,这里我是在做过其他试验后忘记删除这两句了
再者,我知道用System.out.println("%d");可以输出字符串“%d”,但我想知道的是如何通过System.out.printf()方法输出
最后,改程序编译不会报错,第一个输出的结果是一个百分号,第二个输出语句会出现异常UnknownFormatConversionException
我想知道为什么
追答
这里的printf函数可能跟C语言里的printf函数类似的吧。
一个%会让编译器等待你所输出数据的类型,所以有错误。
求探讨
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用printf输出"%d",可以这样printf("%s","%d");
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
System.out.println("%")您这样是输出一个“%”字符串,输出时没有任何问题的。
当然你要是输出像System.out.println(“\t")在控制台上是看不到任何效果,你可以这样尝试System.out.println(“\\t")
当然你要是输出像System.out.println(“\t")在控制台上是看不到任何效果,你可以这样尝试System.out.println(“\\t")
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询