字符串的问题 请问下:给定一个字符串,如何等到该字符串的所有组合的可能???比如:字符串"ab",要得到"ab","ba"。我现在没有分,给不了大家,希望大家帮帮忙!非常谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个问题 理解为 全排列的问题:public class QuanPaiLei { public static int MAX = 4; public static boolean state[] = new boolean[MAX + 1]; public static int item[] = new int[MAX + 1]; public static String element[] = { "a", "b", "c","d" }; public static void main(String[] args) { DoPermutation(1); } public static void DoPermutation(int pos) { if (pos > MAX) { for (int j = 1; j <= MAX; j++) System.out.print(element[item[j] - 1]); System.out.println(); return; } for (int i = 1; i <= MAX; i++) { if (!state[i]) { state[i] = true; item[pos] = i; DoPermutation(pos + 1); state[i] = false; } } }}先把字符串,转成一个字符数组接下来就是 全排列的问题说实在我对这程序,也是理解 有点问题, 但是它实现了这个功能 谢谢各位!今天找了一下,发现有一种办法是用递归的.import java.util.*;public class Main{public static void test(String number ,String result ,int len){ //number是这个数, result表示结果 开始时传入 空字符 , len是这个数的长度 if(result.length()==len){ System.out.println(result); } else{ for(int i=0;i<number.length();i++){ if(result.indexOf(number.charAt(i))<0){ test(number, result+number.charAt(i), len); } } } }public static void main(String args[]) throws Exception { String str="ac"; int length=str.length(); String res=""; test(str,res,length); } } 求大神完善我的代码,给新手一点鼓励,一点支持。 求救!!!!!!!!!!!!!! ArrayList<byte[]>的问题 Java Application中jar包添加到哪边? 有没有比较好的开源Java论坛源代码 JAVA的初级学习 新手 为什么我的jad执行不了 请高手帮忙做一下!谢谢! 如何区别一个字符是英文还是汉字?? javaj基础常见错误总结21个,7-12 一个SWING的窗口关闭问题,应该很简单。~
public class QuanPaiLei { public static int MAX = 4; public static boolean state[] = new boolean[MAX + 1]; public static int item[] = new int[MAX + 1]; public static String element[] = { "a", "b", "c","d" }; public static void main(String[] args) {
DoPermutation(1);
} public static void DoPermutation(int pos) {
if (pos > MAX) {
for (int j = 1; j <= MAX; j++)
System.out.print(element[item[j] - 1]);
System.out.println();
return;
}
for (int i = 1; i <= MAX; i++) {
if (!state[i]) {
state[i] = true;
item[pos] = i;
DoPermutation(pos + 1);
state[i] = false;
}
}
}
}
先把字符串,转成一个字符数组
接下来就是 全排列的问题
说实在我对这程序,也是理解 有点问题, 但是它实现了这个功能
import java.util.*;
public class Main{
public static void test(String number ,String result ,int len){
//number是这个数, result表示结果 开始时传入 空字符 , len是这个数的长度
if(result.length()==len){
System.out.println(result);
}
else{
for(int i=0;i<number.length();i++){
if(result.indexOf(number.charAt(i))<0){
test(number, result+number.charAt(i), len);
}
}
}
}
public static void main(String args[]) throws Exception {
String str="ac";
int length=str.length();
String res="";
test(str,res,length);
}
}