2016-08-09 10 views
-3

に文字列の配列を揃え最も長い文字列の長さを指定し、次にすべてを右揃えしようとします。は右<p></p> と判断を揃えているが、右の文字列の配列を正当化する必要があり揃え</p> <p>に基づいてarray.Iで最も長い文字列は、以下の方法を書かれている私は、メソッドを持っているのjava

最長文字列に対する要素の配列。

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

なぜ '.length' –

+2

@マークの後に括弧を追加するようなループのためにあなたを変更することができます。配列の長さは 'text.length'で、文字列の長さは' text [i] .length() 'です。 –

+0

私はこれがCだと思った# –

答えて

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]; 
} 
+1

@fabian編集済み:) –

関連する問題