java - 将字符串排列为大写和小写

标签 java permutation uppercase lowercase

我有一个字符串“abc”。置换字符串的程序(如果可能的话,在 Java 中)会是什么样子?

例如:

abc
ABC
Abc
aBc
abC
ABc
abC
AbC

最佳答案

像这样的东西应该可以解决问题:

void printPermutations(String text) {
  char[] chars = text.toCharArray();
  for (int i = 0, n = (int) Math.pow(2, chars.length); i < n; i++) {
    char[] permutation = new char[chars.length];
    for (int j =0; j < chars.length; j++) {
      permutation[j] = (isBitSet(i, j)) ? Character.toUpperCase(chars[j]) : chars[j];
    }
    System.out.println(permutation);
  }
}

boolean isBitSet(int n, int offset) {
  return (n >> offset & 1) != 0;
}

关于java - 将字符串排列为大写和小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6785358/

相关文章:

java - 当 writer 不包含数据时,RESTService 返回 HTML

swift - Swift 中有没有一种方法可以计算 3 个数字的所有可能加法、乘法、减法或除法。包括括号

JavaScript 函数 : Capitalize First Letter and All Letters Following _ in Input Str of Function

uppercase - 在 Python(或任何语言)中, "upper"函数对印地语、阿姆哈拉语和其他非拉丁字符集有何作用?

java - 动态类型的调用方法

java - 使用 java 和 usb : Which api? jsr-80,jusb,...?

JavaFX TextField 文本验证

algorithm - 置换矩阵的某些 block

java - 获得所有x字母组合的算法

javascript - 将输入更改为大写,光标不会跳到文本末尾