黑马程序员技术交流社区

标题: 打印菱形. [打印本页]

作者: 13699475949    时间: 2017-2-1 20:20
标题: 打印菱形.
public class Print {

        /**
         打印:     *                  
                     * *         
                    * * *          
                   * * * *          
                  * * * * *          
                   * * * *
                    * * *
                     * *
                      *
上部分        行数         离边空格(5-i)                   星(2*i-1)%2=1
                      i=1       j= 1 2 3 4                   k=1
                      i=2       j= 1 2 3                      k=1 3
                      i=3       j= 1 2                         k=1 3 5  
                      i=4       j= 1                            k=1 3 5 7
                      i=5       j= 0                                    k=1 3 5 7 9
        下部分                                                    9-2*i
                      i=1       j=1                               k=1 3 5 7
                      i=2       j=1 2                       k=1 3 5
                      i=3       j=1 2 3                         k=1 3
                      i=4       j=1 2 3 4                       k=1
                      
        思路:1,对称的.先打上面部分.
                2.将空格和*分开.
                3.离边空格在变化,先用一个循环打印空格.
                4.星在变化.再用一个循环打印*.星后空一格,奇数打*,偶数打空.
                
         */
        public static void main(String[] args) {
                for (int i = 1; i <= 5; i++) {
                        for (int j = 1; j <= 5-i; j++) {
                                System.out.print(" ");
                                }
                        for (int k = 1; k <= 2 * i -1; k++) {
                                if (k % 2 == 1) {
                                System.out.print("*");
                                }else{
                                System.out.print(" ");
                                }
                        }
                        System.out.println();
                        }
                       
                for (int i = 1; i <= 4; i++) {
                        for (int j = 1; j <= i; j++) {
                                System.out.print(" ");
                                }
                        for (int k = 1; k <= (9 - 2 * i); k++) {
                                if (k % 2 == 1) {
                                System.out.print("*");
                                }else{
                                System.out.print(" ");
                                }
                        }
                        System.out.println();
                        }
                }
               
        }


       





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2