67,513
社区成员
发帖
与我相关
我的任务
分享
public class test{
private String[] string;
private int strLength = 7,current=0;
private boolean[] list;
private StringBuffer sb = new StringBuffer();
public test(String string){
this.string = string.split("");
list = new boolean[this.string.length];
result(1);
System.out.println(sb);
}
private void result(int start){
if(current==strLength)
for(int i=0;i<list.length;i++)
sb.append((list[i]?string[i]:"")+(i==list.length-1?"\n":""));
else
for(int i=start;i<string.length;i++){
list[i] = true;
current++;
result(i+1);
current--;
list[i] = false;
}
}
public static void main(String args[]){
new test("123456789");
}
}
/*import java.util.regex.*;
public class test{
public static void main(String args[]){
String str = "[Sun Aug 19 06:59:49 2007] [error] [client 192.168.34.36] File does not exist: /var/www/html/favicon.ico ";
Pattern p = Pattern.compile("\\[(.*?)\\]\\s*\\[(.*?)\\]\\s*\\[(.*?)\\]\\s*(.*)$");
Matcher m = p.matcher(str);
while (m.find()) {
System.out.println(m.group(1));
System.out.println(m.group(2));
System.out.println(m.group(3));
System.out.println(m.group(4));
}
}
}
*/
public class test{
private String[] string;
private int strLength = 0,current=0;
private boolean[] list;
public test(String string){
this.string = new String[string.length()];
for(int i=0;i<string.length();i++)
this.string[i] = i==string.length()?string.substring(i):string.substring(i,i+1);
list = new boolean[this.string.length];
run();
}
private void run(){
for(int i=1;i<=string.length;i++){
strLength++;
result(0,list);
}
}
private void result(int start,boolean[] listarr){
if(current==strLength){
for(int i=0;i<listarr.length;i++)
System.out.print((listarr[i]?string[i]:"")+(i==listarr.length-1?"\n":""));
}else{
for(int i=start;i<string.length;i++){
boolean[] temp = listarr.clone();
temp[i] = true;
current++;
result(i+1,temp);
current--;
}
}
}
public static void main(String args[]){
new test("12345");
}
}