6*7*8*9
//ABCD.java,我只排了AB,其余的楼主自己排吧,不用递归好象有点复杂
import java.util.*;
class Node{
public Node(String str){
this.str=str;
}
public Node(String _str,char _char,int postion){
StringBuffer sb=new StringBuffer(_str);
sb=sb.insert(postion,_char);
str=sb.toString();
System.out.println(str);
}
String str=new String();
ArrayList list=new ArrayList();
}
public class ABCD{
public static void main(String[] args)
{
Node root=new Node("00000");
for(int i=0;i<6;i++)
{
root.list.add(new Node(root.str,'A',i));
}
Iterator roots=root.list.iterator();
while(roots.hasNext())
{
Node node=(Node)roots.next();
for(int i=0;i<7;i++)
{
node.list.add(new Node(node.str,'B',i));
}
}
}
}
//ABCD.java,我只排了AB,其余的楼主自己排吧,不用递归好象有点复杂
import java.util.*;
class Node{
public Node(String str){
this.str=str;
}
public Node(String _str,char _char,int postion){
StringBuffer sb=new StringBuffer(_str);
sb=sb.insert(postion,_char);
str=sb.toString();
System.out.println(str);
}
String str=new String();
ArrayList list=new ArrayList();
}
public class ABCD{
public static void main(String[] args)
{
Node root=new Node("00000");
for(int i=0;i<6;i++)
{
root.list.add(new Node(root.str,'A',i));
}
Iterator roots=root.list.iterator();
while(roots.hasNext())
{
Node node=(Node)roots.next();
for(int i=0;i<7;i++)
{
node.list.add(new Node(node.str,'B',i));
}
}
}
}
public class Matrix{
HashSet aRray = new HashSet();
char aChar;
public Matrix(String defaultString){
this.aRray.add(defaultString);
}
public Matrix insert(){
Iterator it = aRray.iterator();
HashSet newList = new HashSet();
while(it.hasNext()){
String nString = (String)it.next();
for(int i=0;i<nString.length()+1;i++){
StringBuffer sb = new StringBuffer(nString);
sb.insert(i,aChar);
while(!newList.add(sb.toString()))System.out.println("重复数据");
}
}
this.aRray = newList;
return this;
}
public Matrix next(HashSet aRray,char aChar){
this.aRray = aRray;
this.aChar = aChar;
return insert();
}
public static void main(String[] args){ Matrix matrix = new Matrix("00000"); matrix.next(matrix.aRray,'A');
matrix.next(matrix.aRray,'B');
matrix.next(matrix.aRray,'C');
matrix.next(matrix.aRray,'D');
Iterator it = matrix.aRray.iterator();
for(int i=1;it.hasNext();i++){
System.out.println(i+"\t"+(String)it.next());
} }
}