2011-11-22 127 views
0

如何使用所有可能的输出将字符串从小写字母转换为大写字母?将小写形式转换为大写?

例如,我有字符串'abc';就一定要把所有可能的输出以大写显示此组字符串作为输出:

'abC','aBc,'aBC','Abc'ABc','AbC','ABC' 
+0

我认为原单字符串作为二进制鳕鱼“000” 0意味着较低,1意味着是上现在使用的如果,如果每次检查报表最后一位是0将其更改为1,然后转到下一个数字,依此类推。 –

+0

这是一个好的开始。发布你的代码,并描述出了什么问题。这也可以帮助你考虑这个问题。 –

+0

分享代码...布尔概念你已经实现... – Varun

回答

1

这里的算法来做到这一点:

String input = "abc"; 
int length = input.length(); 
for (int i = 1;i < 2^input.length();i++){ 
    String bitString = convert value of i into bits (eg, 1 = 001 , 2 = 010) 
    //Iterate through length of bitString 
    StringBuffer newString = ""; 
    for (int j = 1;j < bitString.length();j++){ 
     if(bitString.charAt(j)=='1'){ 
      newString.append(convertToUpperCase(input.charAt(j)); 
     }else{ 
      newString.append(input.charAt(j)); 
     } 
    } 
    print newString 
} 
+0

注意,'2^input.length()'不会达到你期望的Java。 '^'是独家运营商,不是电力运营商。改为使用'1 << input.length()'。 – cHao