有一组数  A-G
要求用各种组合相加一边
(例如A+B A+B+C 或是 A+C A+C+D 或是 B+C B+C+D 等等)
不特定相加 个数,及组合方式
用各种组合方式相加一边
并将组合方式连同相加结果排序 输出
怎么写语句最少

解决方案 »

  1.   


    public static void main(String[] args){
    int a=1,b=2,c=3,d=4,e=5,f=6,g=7;
    int[] arr = {a,b,c,d,e,f,g};
    List list = new ArrayList();

    for(int i = 2;i<=arr.length;i++){
    multiply(arr,list,i,0);
    System.out.println();
    }

    }

    public static void multiply(int[] arr,List list,int i,int index){
    for(int j=index;j<arr.length;j++){
    list.add(arr[j]);
    if(list.size()==i){
    for(Object obj:list){
    System.out.print(obj);
    System.out.print("+");
    }
    System.out.println(" ");
    }else if(j+1<arr.length){
    multiply(arr,list,i,j+1);
    }
    list.remove((Integer)arr[j]);
    }
    }
    这种事随便怎样都好。。