Рандомизировать заглавные буквы - PullRequest
2 голосов
/ 14 февраля 2011

Есть ли простой способ, при условии, что слово String рандомизирует заглавные буквы?

Пример:

Для слова super я бы получил SuPEr или SUpER.

Я ищу решение Java для этого.

Ответы [ 2 ]

10 голосов
/ 14 февраля 2011

Вот одно предложение:

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 голос
/ 14 февраля 2011

Рассматривать строку как массив.Так что теперь вместо

string test = "Super";

визуализируйте его как

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

Теперь вы можете перебирать массив и применять к нему string.toUpperCase().

...