20全排列:字符排序

  1. //从键盘读入一个由字母构成的串(不大于30个字符)。  
  2. //从该串中取出3个不重复的字符,求所有的取法。  
  3. //取出的字符,要求按字母升序排列成一个串。  
  4. //不同的取法输出顺序可以不考虑。  
  5. //例如:  
  6. //输入:  
  7. //abc  
  8. //则输出:  
  9. //abc  
  10. //  
  11. //输入:  
  12. //abcd  
  13. //则输出:  
  14. //abc  
  15. //abd  
  16. //acd  
  17. //bcd  
  18. //输入:  
  19. //abcaa  
  20. //则输出:  
  21. //abc  
  22. import java.math.BigInteger;
    import java.util.*;
    
    public class Lanq {
    
        public static void main(String[] args) {
            //tiansuanshu();
            取字符();
            //System.out.println(count);
        }
    
        public static void 取字符() {
            Scanner sc = new Scanner(System.in);
            String s = sc.next();
            String newStr = "";
            for(int i=0;i< s.length();i++){
                String temp= s.charAt(i)+"";
                if(!newStr.contains(temp)){
                    newStr+=temp;
                }
            }
            char []arr=new char[newStr.length()];
            for(int i=0;i<newStr.length();i++){
                arr[i]=newStr.charAt(i);
            }
            Arrays.sort(arr);
            for(int i=0;i<newStr.length();i++)
                for(int j=i+1;j<newStr.length();j++)
                    for(int k=j+1;k<newStr.length();k++)
                        System.out.println(arr[i]+" "+arr[j]+" "+arr[k]);
        }
    }
    

      

posted @ 2018-03-13 09:37  xianbeigg  阅读(345)  评论(0编辑  收藏  举报