黑马程序员技术交流社区
标题:
基础测试题8
[打印本页]
作者:
z13561291
时间:
2015-11-15 01:14
标题:
基础测试题8
/**
* 编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符,例如:
* 原始字符串是"abc",打印得到下列所有组合情况:
* "a" "b" "c"
* "ab" "bc" "ca" "ba" "cb" "ac"
* "abc" "acb" "bac" "bca" "cab" "cba"
* */
public class Test7 {
public static String str = "abc"; //定义一个字符串为"abc"
public static void main(String[] args) {
show(0, new String()); //调用show方法
}
// 递归
public static void show(int x, String y) { //定义show方法(角标,对象)
if (x < str.length()) { //判断x小于abc的长度时
for (int i = 0; i < str.length(); i++) { // 从角标0开始循环(也就是'a')
if (!(y.contains(str.substring(i, i + 1)))) { //判断当前字符串中没有重复字符时
System.out.println(y + str.substring(i, i + 1)); //输出(y+截取从i到i+1中的字符串)
show(x + 1, new String(y + str.substring(i, i + 1))); //继续判断后面字符并输出
}
}
}
}
}
复制代码
作者:
Little_jie
时间:
2015-11-15 13:09
学习下,学习递归
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2