A
AB
ABC
ABCD
...
ABCDEFGH
B
BC
BCD
BCDE
..
BCDEFGHI
C貌似这样的答案求代码

解决方案 »

  1.   

    楼主的问题其实并不简单,楼主只是问了一个最简单的方式而已。。
    就是从16个不同的数里面挑8个以下不同的数,是这个意思吧?
    这个相对是最容易实现的方式了,
    代码如下:public class Test2 {
    public static void main(String[] args) throws IOException {
    String[] s = { "A", "B", "C", "D" };
    new Test2().bianli(s);
    } public void bianli(String[] s) {
    for (int i1 = 0; i1 < s.length; i1++) {
    for (int i2 = 0; i2 < s.length; i2++) {
    for (int i3 = 0; i3 < s.length; i3++) {
    Set<String> set=new HashSet<>();
    set.add(s[i1]);
    set.add(s[i2]);
    set.add(s[i3]);
    shuchu(set);
    }
    }
    } }
    public void shuchu(Set<String> set){
    for(String xx:set){
    System.out.print(xx);
    }
    System.out.println();
    }
    }
    其实这个问题往深里面想的话,大多数人一天都做不出来的。
      

  2.   

    我这里设计的是从4个数里面选所有3个以下的数
    结果:
    A
    AB
    AC
    DA
    AB
    AB
    ABC
    DAB
    AC
    ABC
    AC
    DAC
    DA
    DAB
    DAC
    DA
    AB
    AB
    ABC
    DAB
    AB
    B
    BC
    DB
    ABC
    BC
    BC
    DBC
    DAB
    DB
    DBC
    DB
    AC
    ABC
    AC
    DAC
    ABC
    BC
    BC
    DBC
    AC
    BC
    C
    DC
    DAC
    DBC
    DC
    DC
    DA
    DAB
    DAC
    DA
    DAB
    DB
    DBC
    DB
    DAC
    DBC
    DC
    DC
    DA
    DB
    DC
    D
      

  3.   

    package Test201303;public class Test20130327 {
    private static final int LEN = 8;
    /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    getSub("ABCDEFGHIJK",LEN);
    } /*
     * get the sub string
     */
    public static void getSub(String str,int len) {
    // get length
    int length = str.length();
    // start and end position
    //int start = 0;
    int end = len;
    // for
    for(int i=0;i<length;i++){
    if((i+len)>length){
    end = length;
    }else{
    end = i+len;
    }
    for(int j = i;j<end;j++){
    String temp = str.substring(i,j+1);
    System.out.println(temp);
    }
    }

    }
    }
      

  4.   

    这个应该可以了。public class Test2 {
    static Set<String> all=new HashSet<>();
    public static void main(String[] args) throws IOException {
    Set<String> set=new HashSet<>();
    set.add("A");
    set.add("B");
    set.add("C");
    set.add("D");
    set.add("E");
    new Test2().bianli(set);
    for(String str:all){
    System.out.println(str);
    }
    }
    public void bianli(Set<String> set){
    for(String s:set){
    Set<String> set2=copy(set);
    set2.remove(s);
    if(set2.size()<=3){
    getString(set2);
    }
    if(set2.size()>1){
    bianli(set2);
    }
    }
    }

    public static Set<String> copy(Set<String> set){
    Set<String> set2=new HashSet<>();
    for(String str:set){
    set2.add(str);
    }
    return set2;
    }
    public void getString(Set<String> set){
    StringBuilder builder=new StringBuilder();
    for(String str:set){
    builder.append(str);
    }
    all.add(builder.toString());
    }

    }
      

  5.   

    不知道是不是你想要的package y201303;public class CharCombination { public static void main(String[] args) {
    showCombination();
    } public static void showCombination(){
    String str = "ABCDEFGHIJK";
    for(int i=0; i<str.length(); i++){
    for(int j=i; j<(i+8 > str.length() ? str.length() : i+8); j++){
    System.out.print(str.substring(i, j+1));
    System.out.println();
    }
    System.out.println();
    }
    }
    }
    A
    AB
    ABC
    ABCD
    ABCDE
    ABCDEF
    ABCDEFG
    ABCDEFGHB
    BC
    BCD
    BCDE
    BCDEF
    BCDEFG
    BCDEFGH
    BCDEFGHIC
    CD
    CDE
    CDEF
    CDEFG
    CDEFGH
    CDEFGHI
    CDEFGHIJD
    DE
    DEF
    DEFG
    DEFGH
    DEFGHI
    DEFGHIJ
    DEFGHIJKE
    EF
    EFG
    EFGH
    EFGHI
    EFGHIJ
    EFGHIJKF
    FG
    FGH
    FGHI
    FGHIJ
    FGHIJKG
    GH
    GHI
    GHIJ
    GHIJKH
    HI
    HIJ
    HIJKI
    IJ
    IJKJ
    JKK
      

  6.   


    package com.zf.maven;public class TestZuHe { public static void main(String[] args) { String str = "ABCDEFGHIJK"; zuhe(str , "" , 8 , 0);
    }
        
    public static void zuhe(String str , String result , int maxLength , int index){ 
    System.out.println(result);
    if(result.length() == maxLength)
    return ;
    for (int i = index ; i < str.length() ; i++) {
    if(!(index == 0 || i == index))
    return ;  
    zuhe(str , result + str.charAt(i), 8 , i + 1);    
    }
    }}
     
    A
    AB
    ABC
    ABCD
    ABCDE
    ABCDEF
    ABCDEFG
    ABCDEFGH
    B
    BC
    BCD
    BCDE
    BCDEF
    BCDEFG
    BCDEFGH
    BCDEFGHI
    C
    CD
    CDE
    CDEF
    CDEFG
    CDEFGH
    CDEFGHI
    CDEFGHIJ
    D
    DE
    DEF
    DEFG
    DEFGH
    DEFGHI
    DEFGHIJ
    DEFGHIJK
    E
    EF
    EFG
    EFGH
    EFGHI
    EFGHIJ
    EFGHIJK
    F
    FG
    FGH
    FGHI
    FGHIJ
    FGHIJK
    G
    GH
    GHI
    GHIJ
    GHIJK
    H
    HI
    HIJ
    HIJK
    I
    IJ
    IJK
    J
    JK
    K