字符串的Java输出格式
我想知道是否有人会向我展示如何对Java字符串使用format方法。 例如,如果希望所有输出的宽度相同
例如,假设我希望我的输出相同
name=鲍勃
Age=27
Occupation=Student
Status=Single
在本例中,所有输出都格式化得很好。 我如何使用format方法执行此操作?
6个解决方案
131电压
system.out.println (string.format (' %-20s=% s ',' label ',' content ' );
其中%s是您的字符串占位符。
“-”将结果左对齐。
第一个字符串的宽度是20
输出如下所示。
label=content
作为参考,我们推荐有关格式化程序语法的Javadoc
stacker answered 2020-07-17t 14336005336047 z
7电压
例如,如果至少需要四个字符,则为、
system.out.println (string.format (' m ',5 );
//Results in ' 5',minimum of 4 characters
I 82 much answered 2020-07-17t 14336006336006 z
6电压
编辑:这是一个非常原始的答案,但已被接受,无法删除。 有关更好的解决方案,请参阅以下答案
不仅仅是动态生成空字符串以插入语句。
因此,如果所有人都想从第50个字符开始.
String key='Name=';
String space=' ';
for(intI; I
{空间=space '; }
String value='Bobn ';
系统. out.println (keyspace value;
如果将所有这些都放在循环中,并在每次迭代时初始化/设置关键变量和值变量,我会很高兴。 我也使用StringBuilder类。 那个更有效率。
gnomedanswered 2020-07-17t 14336005336009 z
6电压
要回答更新的问题,请执行以下操作
String[] lines=('Name=Bobn '
' Age=27n '
' Occupation=Studentn '
' Status=Single ' ).split((n );
for (字符串线3360线) {
string[]parts=line.split('=';
system.out.printf('%-19s%s%n ',parts[0] '=',parts[1] );
}
版画
name=鲍勃
Age=27
Occupation=Student
Status=Single
peterlawreyanswered 2020-07-17t 14336006336030 z
1电压
@Override
公共字符串tostring (
{
returnstring.format(s/nd/ns/ns ),name,age,Occupation,status );
}
amolkakadeanswered 2020-07-17t 14336006336046 z
0电压
十进制值可以是decimal格式
导入Java.text.*;
公共类医学格式演示{
staticpublicvoidcustomformat (字符串模式,双值) {
decimalformatmyformatter=new decimal format (pattern;
string output=my formatter.format (value;
system.out.println (value ' ' pattern ' ' output;
}
staticpublicvoidmain (字符串[ ] args ) {
自定义格式(' # #、###.### ',123456.789 );
自定义格式(' # #.# ),123456.789 );
自定义格式(000000.000 )、123.78 );
自定义格式(' $ # #、###.### '、12345.67 );
}
}
输出如下所示。
123456.789 ###、# #.# # 123、456.789
123456.789 ###.## 123456.79
123.78 000000.000 000123.780
12345.67 $###,# #.# # $ 12,345.67
有关详细信息,请参阅此处。
[ http 3360//docs.Oracle.com/Java颜色/tutorial/Java/data/number format.html ]
Roman answered 2020-07-17t 14336007336019 z