A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始



  1. import java.util.Scanner;
  2. import java.util.TreeSet;

  3. public class Demo2 {
  4.         public static void main(String[] args) {
  5.                 //输入字母
  6.                 Scanner sc = new Scanner(System.in);
  7.                 String str = sc.nextLine();
  8.                 //转化为数组
  9.                 char[] ch = str.toCharArray();
  10.                
  11.                 TreeSet<String> ts = new TreeSet<String>();
  12.                 //先将单个字母存入到集合中
  13.                 for(int x=0;x<ch.length;x++)
  14.                 {
  15.                         ts.add((ch[x]+""));
  16.                 }
  17.                 // 输出
  18.                 System.out.println(ts);
  19.                 // 对字母进行无重复组合输出
  20.                 for (int x = 0; x < ch.length - 1; x++) {
  21.                         //声明过渡集合
  22.                         TreeSet<String> tree = new TreeSet<String>();
  23.                         tree = forDemo(ts, ch, tree);
  24.                         ts = tree;

  25.                 }
  26.                 sc.close();

  27.         }

  28.         public static TreeSet<String> forDemo(TreeSet<String> ts, char[] ch,
  29.                         TreeSet<String> tree)

  30.         {
  31.                 for (int x = 0; x < ch.length; x++) {
  32.                         String str1 = ch[x] + "";

  33.                         for (String str2 : ts) {
  34.                                 if (!str2.contains(str1)) {
  35.                                         String temp = new StringBuilder(str2).append(str1)
  36.                                                         .toString();
  37.                                         tree.add(temp);
  38.                                 }
  39.                         }
  40.                 }
  41.                 System.out.println(tree.toString());
  42.                 return tree;

  43.         }

  44. }
复制代码


3 个回复

倒序浏览
结果

回复 使用道具 举报
学习 学习了
回复 使用道具 举报
  1. import java.util.TreeSet;

  2. public class Demo1 {
  3.         public static void main(String[] args) {

  4.                 String str = "abc";
  5.                 char[] ch = str.toCharArray();
  6.                 TreeSet<String> ts1 = new TreeSet<String>();
  7.                 TreeSet<String> ts2 = new TreeSet<String>();
  8.                 TreeSet<String> ts3 = new TreeSet<String>();

  9.                 for (int x = 0; x < ch.length; x++) {

  10.                         ts1.add(ch[x] + " ");

  11.                         for (int y = 0; y < ch.length; y++) {

  12.                                 if (ch[x] != ch[y]) {
  13.                                         ts2.add(ch[y] + "" + ch[x] + "");
  14.                                         for (int z = 0; z < ch.length; z++) {

  15.                                                 if (ch[y] != ch[z] && ch[x] != ch[z]) {
  16.                                                         ts3.add(ch[y] + "" + ch[x] + "" + ch[z]);
  17.                                                 }
  18.                                         }
  19.                                 }

  20.                         }

  21.                 }
  22.                 System.out.println(ts1.toString());
  23.                 System.out.println(ts2.toString());
  24.                 System.out.println(ts3.toString());

  25.         }
  26. }
复制代码


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马