java打印菱形

题3, 使用for循环打印一个菱形..
//下面这样的..

思路: 将他们看成是四个三角形;从第四行开始划分,上面两个(包含第四行),下面两个(下三行).用三个for循环将上下两部分分别写出.
    找每行0与* 和 行数的关系:
      当 第几行 0的个数 *的个数 //前四行,他们之间的关系
          0 3 1
          1 2 3
          2 1 5
          3 0 7
x 3-x 2x+1

         当  第几行  0的个数  *的个数
         0 1 5
         1 2 3
         2 3 1
y y+1 5-2y


 1 
 2 
 3           int sz = 4;   //定义行高  
 4             for( int a = 0; a < sz ; a++ ){     //第几行,,从0开始,小于行高,,所以a是能==3的
 5 
 6                 for( int b = 0; b < 3 - a ; b++){    //0与第几行的关系
 7                     System.out.print("0");}
 8 
 9                 for( int c = 0; c < 2 * a + 1; c++ ){  // *与第几行的关系 
10                     System.out.print("*");}
11 
12                 System.out.println();      //换行打印
13             } 
14                             //下面方法同上
15             for( int d = 0; d < sz -1 ; d++ ){
16 
17                 for( int e = 0; e < d + 1 ; e++){
18                     System.out.print("0");}
19 
20                 for( int f = 0; f < 5 - 2 * d ; f++ ){
21                     System.out.print("*");}
22 
23                 System.out.println();
24             }

 

posted @ 2017-11-16 22:57  子言小竹  阅读(221)  评论(0编辑  收藏  举报