编写一个JAVA程序,打印如下:

时间:2016-07-11 09:25:09

标签: java

输入:{a, b, c, d}(字符数组)

我想使用上面的字符数组作为输入生成以下序列

输出:

a bcd
ab cd
abc d
abcd
a b c d
ab c d
a bc d
a b cd

4 个答案:

答案 0 :(得分:4)

你可以尝试,

char[] a = { 'a', 'b', 'c', 'd' };
        for (int i = 0; i < (a.length*2); i++) {
            if (i < a.length) {
                for (int j = 0; j < a.length; j++) {
                    System.out.print(a[j]);
                    if (j == i)
                        System.out.print(" ");
                }
                System.out.println("");
            } else {
                for (int k = 0; k < a.length; k++) {
                    System.out.print(a[k]);
                    if (k != (i - (a.length + 1)))
                        System.out.print(" ");
                }
                System.out.println("");
            }
        }

答案 1 :(得分:0)

val hiveContext = new org.apache.spark.sql.hive.HiveContext(sc)

答案 2 :(得分:0)

for (int i = (1 << (a.length - 1)) - 1; i >= 0; --i) {
    System.out.print(a[0]);
    for (int j = 0; j < a.length - 1; ++j) {
        if ((i & (1 << j)) == 0)
            System.out.print(" ");
        System.out.print(a[j + 1]);
    }
    System.out.println();
}

答案 3 :(得分:-2)

此代码适用于上面给出的输出

 for(i=0;i<(2*a.length);i++){
        if(i<a.length){         
            for(j=0;j<a.length;j++){
            System.out.print(a[j]);
            if(j==i)
               System.out.print(" ");//for white spaces
        }
   System.out.println("");  //new line
   }
   else{
      for(k=0;k<a.length;k++){
         System.out.print(a[k]);
         if(k!=(i-(a.length+1)))
            System.out.print(" ");
      }   
   System.out.println("");  
   }
}

但是,我认为你的代码并没有给出预期的输出,甚至不是你所说的前几行。