在java中倒金字塔

时间:2017-02-20 13:40:22

标签: java for-loop foreach

如何使用循环

创建这样的金字塔
******   6 asterisks

 ****    4 asterisks

  **      2 asterisks

  *      1 asterisk

我的尝试:

for(int i=0; i<4; i++){
     for(int k=0; k<=i; k++){
         System.out.print(" ");
     }
     for(int j=0; j<6-(2*i); j++) {
         System.out.print("*");
     } 
     System.out.println();
}

1 个答案:

答案 0 :(得分:0)

for(int i : new Integer[]{6,4,2,1}){
     for(int k = 0; k < (6 - i)/2; k++){
         System.out.print(" ");
     }           
     for(int j=0; j<i; j++) {
         System.out.print("*");
     } 
     System.out.println();
}

或者也可以使用更大的金字塔

int MAX = 6;    
int i = MAX;
while(i > 0){
     for(int k = 0; k < (MAX - i)/2; k++){
         System.out.print(" ");
     }           
     for(int j=0; j<i; j++) {
         System.out.print("*");
     } 
     System.out.println();

     i = i * 2 / 3;
}