黑马程序员技术交流社区

标题: 关于基础测试,打印字符串的所有组合情况。。 [打印本页]

作者: 淡调调/ka    时间: 2014-8-29 23:17
标题: 关于基础测试,打印字符串的所有组合情况。。
编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符,例如:
原始字符串是"abc",打印得到下列所有组合情况:
                "a" "b" "c"
               "ab" "bc" "ca" "ba" "cb" "ac"
                "abc" "acb" "bac" "bca" "cab" "cba"


首先这题,我没明白题意。。是从键盘输入任意一个字符串,然后打印出来所有的组合情况吗?~那难度太大了。请高人指点。。


作者: lfs454766767    时间: 2014-8-29 23:25

  1. String str = "abc";
  2.                
  3.                 List<String> strAss = new ArrayList<String>();
  4.                 for (int i = 1; i <= str.length(); i++) {
  5.                         String sub = str.substring(0, i);
  6.                        
  7.                         int j = 0;
  8.                         while (j++ < sub.length()) {
  9.                                 strAss.add(sub);
  10.                                 sub = sub.substring(1) + sub.substring(0, 1);
  11.                         }
  12.                 }
  13.                
  14.                 for (String a : strAss) {
  15.                         System.out.println(a);
  16.                 }
复制代码





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