本文主要是介绍java abc输出bca_java输入一个字符串,使用递归输出所有可能的排列,如输入abc,输出abc,acb,bac,bca,cab,cba。...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
满意答案
r1cw5
2015.09.27
采纳率:43% 等级:12
已帮助:7082人
递归就是自己调用自己,每次变换传递的参数:
1、定义方法possibleStrings,传入组合数的长度为3,字符为输入的a,b,c:
public static void possibleStrings(int maxLength, char[] alphabet, String curr) {
// 如果递归到最大长度,则打印
if(curr.length() == maxLength) {
System.out.println(curr);
// 否则继续递归,从输入的字母中一次添加,构成新的组合后输出
} else {
for(int i = 0; i < alphabet.length; i++) { //for循环从0到最大长度
String oldCurr = curr;//保存当前的组合字符串
curr += alphabet[i]; //继续追加
possibleStrings(maxLength,alphabet,curr);//递归:重新计算是否达到最大长度,如果达到就打印出来。
curr = oldCurr;// 保存旧值到当前字符串中
}
}
}
2、调用测试:
public static void main(String[] args) {
// 模拟输入的字母,这里假设a、b、c
char[] alphabet = new char[] {'a','b','c'};
// 找出所有的abc的排列组合
StringExcersise.possibleStrings(3, alphabet,"");
}
00分享举报
这篇关于java abc输出bca_java输入一个字符串,使用递归输出所有可能的排列,如输入abc,输出abc,acb,bac,bca,cab,cba。...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!