在java中使用制表符格式化字符串和字符串数组
我有一个赋值,其中我应该有一个方法,该方法将字符串对象数组格式化,以某种方式用标题制表,并将格式化后的所有对象很好地放入一个字符串中,以便该方法返回。这个方法在一个对象类中,所以它最终将以相同的方式格式化多个对象,所以我需要它以相同的方式格式化不同的字符串长度 以下是我需要输出的样子:在java中使用制表符格式化字符串和字符串数组,java,arrays,string,tabs,string.format,Java,Arrays,String,Tabs,String.format,我有一个赋值,其中我应该有一个方法,该方法将字符串对象数组格式化,以某种方式用标题制表,并将格式化后的所有对象很好地放入一个字符串中,以便该方法返回。这个方法在一个对象类中,所以它最终将以相同的方式格式化多个对象,所以我需要它以相同的方式格式化不同的字符串长度 以下是我需要输出的样子: Hashtags: #firstHashtag #secondHashtag 每个hashtag都位于hashtag的字符串[]中 i
Hashtags:
#firstHashtag
#secondHashtag
每个hashtag都位于hashtag的字符串[]中
i、 e。
String[]hashtags=[firstHashtag,secondHashtag]
因此,基本上我需要使用string.format在包含选项卡式Hashtags:header的单个字符串上创建,然后Hashtags数组中的每个字符串位于新行上,并使用双选项卡。hashtag数组的大小会发生变化,因为它位于对象类中
有人能帮我使用String.formatter吗
到目前为止,我的方法是这样的:
public String getHashtags()
{
String returnString = "Hashtags:";
String add;
int count = 0;
while(count < hashtags.length)
{
//hashtags is an array of String objects with an unknown size
returnString += "\n";
add = String.format("%-25s", hashtags[count]);
//here I'm trying to use .format, but it doesn't tabulate, and I
//don't understand how to make it tabulate!!
count++;
returnString = returnString + add;
}
if(hashtags == null)
{
returnString = null;
}
return returnString;
}
任何关于如何在这里使用格式的有用建议都将不胜感激 您的String.format语句将创建一个左对齐并填充到25个空格的字符串。例如,这一行:
System.out.println("left-justified >" + String.format("%-25s", "hello") + "<");
产出:
left-justified >hello <
另一件事是,你没有真正使用制表符,我看不到你的程序中的制表符字符。String.format正在创建长度为25且左对齐的字符串。在创建返回字符串时请记住这一点。此外,每次添加一个换行符时,循环也会被忽略。这就是您获得多行输出的原因。如果您试图使用真正的制表符而不是空格,则只需将程序更改为如下所示:
public String getHashtags()
{
if(hashtags == null)
{
return null;
}
String returnString = "Hashtags:";
int count = 0;
while(count < hashtags.length)
{
//hashtags is an array of String objects with an unknown size
returnString = returnString + "\n\t\t"+hashtags[count];
count++;
}
return returnString;
}