我有一个方法Justify,它应该基于
对字符串数组进行右对齐数组中最长的字符串。我写了下面的方法Justify that
确定最长字符串的长度,然后尝试右对齐所有
字符串数组相对于最长字符串的元素。
public static void justify(String[] text) {
int maxlength=text[0].length();
int currentlength;
for(int i=1;i<text.length;i++){
currentlength=text[i].length();
if(maxlength<currentlength){
maxlength=currentlength;
}
}
for(int j=0;j<text.length;j++){
if(text[j].length()<maxlength){
text[j]=new String(String.format("%1$-" + maxlength + "s", text[j]));
}
}
for(String s:text){
System.out.print(s+"\n");
}
}
我的字符串数组是{“AMIT”,“JOHNNY”,“ROHAN”}。
请帮我解决这个问题。
答案 0 :(得分:1)
你可以像这样改变你的循环
StringBuilder sb;
for(int j=0;j<text.length;j++){
sb=new StringBuiler();
//append appropriate spaces
for(int i=0,len=text[j].length();i<maxlength-len;i++){
sb.append(" ");
}
text[j]=sb.toString()+text[j];
}