我最近一直在使用python太多了,我忘记了在Java中是否有办法做到这一点:
print "I am a %s" % string
我用Google搜索,但是如果您不确切地知道每种语言中的内容,很难找到这样的简单内容。
答案 0 :(得分:10)
两种可能的简单方法:
String yourStringHere = "human";
System.out.println(String.format("I am a %s", yourStringHere));
或
System.out.printf("I am a %s\n", yourStringHere);
请注意,printf()
不会打印换行符,因此您必须手动添加(“\ n”)。但是(感谢BalusC),您也可以在格式中使用"%n"
。它将被默认的系统换行符替换。 (所以:String.format("I am a %s%n", yourString)
)
两者都打印I am a human\n
。
在Java中,它被称为formatting
。另请查看String.format()
。
答案 1 :(得分:4)
System.out.println( "I am a " + string );
但我更喜欢这个:
System.out.println( String.format( "I am a %s", string ) );
答案 2 :(得分:2)
您可以使用MessageFormat.format()来执行此操作,但对于%s,您应该使用{0}(在这种情况下)。
System.out.print(MessageFormat.format("I am a {0}", string));
如果您想要本地化您的程序,这是更好的方式(或更糟糕的,取决于您想要实现的目标),因为它将自动使用本地化的数字格式。