2011-10-13 67 views
1

可能重複:
How can I pad a String in Java?如何在java中的字符串中填充空格?

我有一個stuation它用我的方法一()返回不同大小的字符串,我想顯示在一個固定的空間字符串(說長50個字符)如果長度大於50個字符,我可以使用String.substring(),但不確定如果字符串長度小於50個字符該怎麼辦,我該如何實現?

for example my method1() return (in different call) : 
John 
Michael 
J 
Ab 

While method2() return : 
first 
Second 
Third 

,我想打印結果像

John     First 
Michael    Second 
J     Third 
Ab     Forth 

我不希望使用任何其他字符,除了空間。

+0

我試過String.format(),但沒有幫助 – Mike

回答

1
public String toFixedLength(String str, int sz) {  
    String ret; 
    int len = str.length(); 

    if (len == sz) { 
    ret = str; 
    } else if (len > sz) { 
    ret = str.substring(0, sz); 
    } else { // len < sz 
    StringBuilder sb = new StringBuilder(str); 

    char[] ch = new char[sz - len]; 
    Arrays.fill(ch, ' '); 
    sb.append(ch); 
    ret = sb.toString(); 
    } 

    return ret; 
} 
+0

在下列情況下無效 – Mike

0

只是檢查字符串的length()並添加所需數量的空格(比如說,在一個週期)

0

如果你有一個不到五十個字符長度的字符串,你要墊出來,你可能只是做:

int temp = yourstring.length 

for(int i = 0; i < (50-temp); i++){ 
    yourstring = yourstring + " "; 
} 

我敢肯定,會工作,如果yourstring是你想墊的字符串,你有沒有在你的代碼中使用我作爲一個整數前面。這樣你只需要使用空間。