递归求助
import java.util.Scanner;
public class Main {
static int count=0;
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入需要排列的字符:");
Scanner sc=new Scanner(System.in);
String s=sc.nextLine();
StringBuffer sr = new StringBuffer(s);
StringBuffer re = new StringBuffer();
new Main().zifupaixu(sr,re);
System.out.println(count);
}
public void zifupaixu(StringBuffer sr,StringBuffer re){
if(sr.length()==0){
System.out.println(re);
count++;
return;
}
for(int i=0;i<sr.length();i++){
StringBuffer tsr=new StringBuffer(sr);
StringBuffer tre=new StringBuffer(re);
tre.append(tsr.charAt(i));
tsr.deleteCharAt(i);
new Main().zifupaixu(tsr, tre);
}
}
}
求解释这个代码的到底是如何循环的
例abc
abc
acb
bac
bca
cab
cba
求 abc和acb的是怎样切换的
初学java的菜鸟