2011-02-14 67 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()