黑马程序员技术交流社区

标题: 终于自己独立搞定了!!! [打印本页]

作者: kingkeykang    时间: 2015-8-26 17:45
标题: 终于自己独立搞定了!!!
  1. package com.itheima;

  2. import java.util.ArrayList;
  3. public class Test5 {

  4.         /**
  5.          * 5、 编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符,例如:

  6.                 原始字符串是"abc",打印得到下列所有组合情况:
  7.                 "a" "b" "c"
  8.                 "ab" "bc" "ca" "ba" "cb" "ac"
  9.                 "abc" "acb" "bac" "bca" "cab" "cba"

  10.          * @param args
  11.          */
  12.         public static void main(String[] args) {
  13.                 String str = "abcd";
  14.                 char[] ch = str.toCharArray();
  15.             ArrayList<Character> al = new ArrayList<Character>();
  16.             subComb(ch, al);
  17.         }
  18.         public static void subComb(char[] ch,ArrayList<Character> al){
  19.                
  20.                 for(int i =0; i<ch.length;i++){
  21.                         if(al.contains(ch[i]))
  22.                                 continue;
  23.                         al.add(al.size(),ch[i]);
  24.                         System.out.println(charALtoString(al));
  25.                         if(al.size()==ch.length){
  26.                                 al.remove(al.size()-1);
  27.                                 break;
  28.                         }
  29.                         subComb(ch, al);
  30.                         al.remove(al.size()-1);
  31.                 }       
  32.                
  33.         }
  34.         private static String charALtoString(ArrayList<Character> al) {
  35.                 // TODO 自动生成的方法存根
  36.                 StringBuffer sb = new StringBuffer();
  37.                 for (int i = 0; i < al.size(); i++) {
  38.                         sb.append(al.get(i));       
  39.                 }
  40.                 return sb.toString();
  41.         }
  42. }
复制代码

作者: 陈劲松    时间: 2015-8-26 19:02
赞一个  继续努力
作者: 龙哥Longer    时间: 2015-8-26 19:09
继续努力,加油




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2