2011-02-14 154 views
2

有沒有一種簡單的方法,給定一個字String,隨機大寫字母?隨機化大寫字母

例子:

對於字super我會得到SuPErSUpER

我正在爲此尋找Java解決方案。

+2

看到你想在_string_中_capitalize_ _randrand_字母,我會看看下面的java文檔。 java.lang.String和java.util.Random作爲起點,這個問題很容易解決。 – 2011-02-14 15:31:35

回答

10

這裏是一個建議:

public static String randomizeCase(String str) { 

    Random rnd = new Random(); 
    StringBuilder sb = new StringBuilder(str.length()); 

    for (char c : str.toCharArray()) 
     sb.append(rnd.nextBoolean() 
         ? Character.toLowerCase(c) 
         : Character.toUpperCase(c)); 

    return sb.toString(); 
} 

輸入:hello world
輸出:heLlO woRlD

ideone.com demo

1

對待字符串作爲一個數組。所以,現在不是

string test = "Super"; 

它想象爲

char test = {'S', 'u' , 'p' , 'e', 'r'}; 

現在,你可以通過數組迭代,並通過它應用string.toUpperCase()