public class Task02HelloAllCombinationsOfCases
{
public static void main (String[] args) {
String hw = "Helo";
char[] hwArr = hw.toLowerCase().toCharArray();
char buf[] = hwArr;
for (int j = 0; j < hwArr.length; j++)
{
for (int i = j; i < hwArr.length; i++)
{
buf[i] = Character.toUpperCase(buf[i]);
System.out.println(buf);
buf[i] = Character.toLowerCase(buf[i]);
}
buf[j] = Character.toUpperCase(buf[j]);
}
}
}
здравствуйте, задача такова - есть любое слово. Программа перебирает все варианты регистров этого слова. например:
hello Hello
hEllo HeLlO .... HELLO у меня алгоритм примерно на половину готов, однако почему-то нет идей как делать дальше, тк голова вся замылена уже.
Буду рад, если поможете с кодом.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
И можешь объяснить строчку System.out.print(set[(i >> j) % 2][j]);
0 < i < (1 << n или 2 в степени n). 0 < j < n. n = word.length().
(i >> j) % 2 — возвращает 0 или 1, что означает символ нижнего и верхнего регистра соотвественно