首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

编程列出一个字符串的全字符结合情况,原始字符串中没有重复字符 例如: 原始字符串是"abc"打印得到下列所有组合情况 "a&quo

2014-01-05 
编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符 例如: 原始字符串是abc,打印得到下列所

编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符 例如: 原始字符串是"abc",打印得到下列所有组合情况 "a" "b" "c" "ab" "b
请问大神这么做怎么错了
package exam;
import java.io.*;
import java.util.*;
public class pllll {
public static void main(String[] args)throws Exception {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
Stringp=br.readLine();  
yy(br,p );
}
public static void yy(BufferedReader br,String p ) throws Exception
{
int i,j;     String ee=p;  String r = null,t = null,q=null ; 
 List<String>list=new ArrayList<String>();

///////////////////////////////////////////////////////////////////   
     for(i=0;i<p.length();i++)
     {
   //sop(p.substring(i,i+1)+" ");////////////第一行
     }
   //System.out.println();
////////////////////////////////////////////////////////////////////   
for(i=0;i<p.length();i++)
{
for(j=0;j<p.length();j++)
 {
if(i!=j)
 {
    r=p.substring(i, i+1);
    t=ee.substring(j,j+ 1);
    q=r+t;
 list.add(q);
//sop(q+" ");////////////第二行
 }
}
}
////////////////////////////////////////////////////////////////////
 Iterator<String> iterator = list.iterator();
while(iterator.hasNext())
       { 
    ee= iterator.next(); 
    //sop(ee);
  yy(ee,p);
    }

}
public static void yy(String ee,String p) throws Exception
{ List<String>list=new ArrayList<String>();
int i,j;  int k=2;
String r = null,t = null,q=null ;
for(i=0;i<p.length();i++)
 { 
    r=p.substring(i, i+1);
    t=ee.substring(0, k);//as ad sa sd da ds ,(0, 2)就是1,2位的,每个(as)(ad)....都是1,2位的即sop(t+" ");输出as ad sa sd da ds
    q=r+t;
    list.add(q);
sop(q+" ");
 }
 Iterator<String> iterator = list.iterator();
     while(iterator.hasNext())
    { 
     ee= iterator.next(); 
         if(k<p.length()+1)
           { k++;
          yy(ee,p);
           }
    }   
}
public static void sop(Object obj)
{
System.out.print(obj);
}
}

[解决办法]
public static void yy(String ee,String p) 
目测死循环了,楼主的程序写的不对了,得到的组合又会再组合,还有代码太乱
[解决办法]
没看懂楼主的意思
[解决办法]
程序错,是小事,程序错只是结果,怕的是,你的思想是错的,楼主发的几个关于排序组合的贴子都看了,确实没看懂楼主是怎么样的想法。

热点排行