2012-03-01 75 views
1

我只想問,有沒有辦法可能自定義您在java中反轉字符串的方式?例如,這是我的示例輸入:自定義字符串反向Java

大藍鳥在飛。

有沒有什麼方法可以將字符串的某些部分像例如3所示?

所以輸出將是:

Theib摹beul雙向DRIS ylfing。

該字符串在每3個字符後都相反。這可能嗎?

+0

Joachim,這個網頁是很多問題的正確答案!很酷的東西。 – Alex 2012-03-01 08:24:33

+1

不,這不適用於Java。太複雜了。我們只能在偶數個字符後反轉。奇怪的限制。 ;-) – 2012-03-01 08:43:07

回答

2

方法:通過參數迭代輸入字符串的所有字符(例如,在您的情況下param = 3)使用布爾標誌確定要反轉的部分。如果部分子字符串不能反轉,則將其附加到結果中,否則請在StringBuilder對象的幫助下將其反向附加到結果中。試試這段代碼,我希望它有幫助:

public static String customizedReverse(String str, int param) 
{ 
    String result = ""; 
    boolean reverse = false; 
    StringBuilder sb = null; 
    int size = str.length(), i = 0; 

    if(param > size) 
     return str; 

    for (i = 0; i < (size/param)*(param); i += param) 
    { 
     String temp = str.substring(i, i + param); 
     if (!reverse) 
      result += temp; 
     else 
     { 
      sb = new StringBuilder(temp); 
      result += sb.reverse(); 
     } 
     reverse = !reverse; 
    } 
    // Appending the remaining part of the string  
    if (!reverse) 
     result += str.substring(i, size); 
    else 
    { 
     sb = new StringBuilder(str.substring(i, size)); 
     result += sb.reverse(); 
    } 

    return result; 
}