Перебирание заглавных и строчных комбинаций в Java
Имею следующие 6 символов: udjoqs
Как я могу программно сделать перебор этих символов (2^6 степени, если я правильно понимаю) Чтобы получилось нечто следующее:
Udjoqs
uDjoqs
....
UdJOS
И так далее?
Всего должно получится 64 варианта
Ответы (1 шт):
Автор решения: Sergey Zh.
→ Ссылка
String str = "udjoqs";
for (int i = 1; i < 64; i++) {
String num = new StringBuilder(Integer.toBinaryString(i)).reverse().toString();
StringBuilder stringBuilder = new StringBuilder();
for (int j = 0; j < str.length(); j++) {
if (j < num.length()) {
if (num.charAt(j) == '0') {
stringBuilder.append(str.charAt(j));
} else {
stringBuilder.append(Character.toUpperCase(str.charAt(j)));
}
} else {
stringBuilder.append(str.charAt(j));
}
}
System.out.println(stringBuilder.toString());
}
Выводит как в вашем примере.
Вижу, что вы новый участник на этом ресурсе, если мой ответ вы считает правильным решением, то вы можете отметить его зелёной галочкой, как верное решение вашего вопроса. Если что-то по коду не понятно - пишите в комментариях под этим ответом.