java 高手来帮忙解决一个简单排列问题!!!!急求+跪求!!

来源:百度知道 编辑:UC知道 时间:2024/05/14 08:21:49
怎样可以让使用者键入一个词, 然后电脑OUTPUT出组成这个词所用的所有字母的排列。。。 例如:
使用者键入: ABC

电脑显示: ABC, ACB, BAC, BCA ,CAB, CBA

怎么做啊? 好象要用递回(Recursion)。。。。。可是我是刚学的。。不会啊。。 请高手指点!!!
能帮忙做成一个METHOD 叫 permutation()吗?
谢谢

import java.util.*;
public class Test {
public static void main(String[] arg) {
Scanner r=new Scanner(System.in);
String s=r.nextLine();
Pailie(s);
}
static void Pailie(String s){ Pailie(s,""); }
static void Pailie(String s,String p) {
if(s.length()<1) System.out.println(p);//打印生成的串
else {
for(int i=0; i<s.length(); i++) {
Pailie(s.substring(1),p+s.substring(0,1));//递归调用
s=s.substring(1)+s.substring(0,1);//循环移位
}
}
}
}