考虑一个字符串,需要插入一些查询或文件中,其中字符串的长度应该等于40.如果字符串的长度小于40,那么它应该追加空字符直到达到40,并且然后需要插入。我该怎么做?
void addstring(String str)
{
int len=str.length();
PrintStream out=new PrintStream();
if(len<=40)
{
out.print(str);
}
else
{
//make the string of length 40 by appending blank character and write to the file.
}
}
答案 0 :(得分:1)
您可以按如下方式使用printf
:
out.printf("%-40s", str);
有关格式字符串的详细信息,请参阅Formatter
文档中的格式字符串语法。
请注意,如果字符串超过40
个字符,则会打印整个字符串(当然没有任何填充空格),因此if
语句是多余的,可以删除。
如果您使用 Guava ,则可以使用Strings.padEnd
。
如果您使用 Apache Commons ,则可以使用StringUtils.repeat
并手动构建填充。
答案 1 :(得分:0)
如果您使用的是Apache commons,则可以使用StringUtils.repeat()方法。
String extraStr = StringUtils.repeat(" ", 40-len);
然后将它附加到你的字符串中。
答案 2 :(得分:0)
此技术称为“填充”,有关详细信息,请参阅here。
另外,我建议检查大于或等于 40的长度:
if (len >= 40)
{
out.print(str);
}
else
{
out.printf("%-40s", str);
}
答案 3 :(得分:0)
使用以下内容:
if(str.length()<40) {
out.printf("%-40s", str);
} else {
out.printf("larger in size");
}