RIght在java中对齐字符串数组

时间:2016-08-09 06:03:41

标签: java arrays string justify

我有一个方法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”}。

请帮我解决这个问题。

1 个答案:

答案 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];
}