黑马程序员技术交流社区

标题: 黑马程序题,借鉴了种算法,但是出 [打印本页]

作者: 李嘉泓    时间: 2015-3-30 22:53
标题: 黑马程序题,借鉴了种算法,但是出
本帖最后由 李嘉泓 于 2015-4-3 00:36 编辑

编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符,例如:
原始字符串是"abc",打印得到下列所有组合情况:
     "a" "b" "c"
     "ab" "bc" "ca" "ba" "cb" "ac"
    "abc" "acb" "bac" "bca" "cab" "cba"
做的事这道题
package com.itheima;

import java.util.ArrayList;
import java.util.List;

/**
*5、 编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符,例如:
     原始字符串是"abc",打印得到下列所有组合情况:
     "a" "b" "c"
     "ab" "bc" "ca" "ba" "cb" "ac"
    "abc" "acb" "bac" "bca" "cab" "cba"
*/
public class Test5 {
        static char[] chars="abcd".toCharArray();
    public static void main(String[] args) {
        for(int i=0;i<chars.length;i++){
            //取得每一个字符
            List<Integer> list=new ArrayList<Integer>();
            list.add(i);
            play(list);
        }
    }
    //使用递归,每次加上列表中不存在的一个字符
    private static void play(List<Integer> list){
        print(list);
        for(int i=0;i<chars.length;i++){
            if(!list.contains(i)){
                List<Integer> temp=new ArrayList<Integer>(list);
                temp.add(i);
                play(temp);
            }
        }
    }
    //打印列表内容
    private static void print(List<Integer> list){
        for(Integer i:list)
            System.out.print(chars+"");
        System.out.println();
    }
}

以上是代码
图片是这样的

捕获.PNG (26.65 KB, 下载次数: 32)

捕获.PNG

作者: Augusition    时间: 2015-3-30 23:42
我也是没做出来,同样的问题卡住了,看看有没有大神知道
作者: 剑雨飘扬    时间: 2015-3-31 00:15
我的能运行啊。应该是你的环境出问题了,找不到class文件

QQ截图20150331001535haha.png (114.51 KB, 下载次数: 32)

QQ截图20150331001535haha.png

作者: Dawn3    时间: 2015-3-31 00:22
看看有没有大神




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