现有1,2,2,3,4,5六个数,要求用一个main函数实现所有不同的排序并打印出来,如122345,512234,要求:4不能在第三位 ,3和5不能相连。

解决方案 »

  1.   

      import   java.util.*;   
      public   class   test   {   
              Vector   all=new   Vector();       
              String   strA   =   null;   
              String   strB   =   null;   
              String   results   =   null;   
              String   passThen=null;   
              public   void   getABCD(String   wawa,String   passBefore)   {   
                    
                      for   (int   i   =   0;   i   <   wawa.length();   i++)   {   
        
                              strA   =   wawa.charAt(i)   +   "";//第一i个字母   
                              strB   =   wawa.replaceFirst(strA,   "");//去掉后剩下的字母   
                              passThen=passBefore+strA;//将要向下一个节点传的字符串   
                                
                              if   (wawa.length()>2)   {   
                                      getABCD(strB,passThen);   
                              }else   if(wawa.length()==2){   
                                      results=passThen+strB;//得到结果   
                                      if(results.charAt(3)!='4'){
                                       if(results.indexOf("35")==-1)
                                       if(results.indexOf("53")==-1)
                                       all.add(results);//放入集合  
                                      }  
                              }   
                      }   
              }   
              public   void   see(){//查看结果   
                      for(int   i=0;i<all.size();i++){   
                              String   result=(String)all.elementAt(i);   
                              System.out.println("     "+result+"       ----------"+i);   
                      }   
              }   
              public   static   void   main(String[]   args)   {   
                      test   t   =   new   test();   
                      t.getABCD("122345","");   
                      t.see();//查看结果   
              }   
      }  
      

  2.   

    http://topic.csdn.net/u/20090424/21/e663b9d4-aca2-497b-aac5-e64eafec7647.html