用java打印实心菱形

来源:互联网 发布:库里总决赛场均数据 编辑:程序博客网 时间:2024/05/24 05:52
//打印实心菱形
/*     逻辑思路: 行号      空心数  星星数
   *                          1          3           1
  ***                        2          2           1
 *****                      3          1           1
*******                    4          0           1                //上半部分(因为上半部分和下半部的循环规律不一样)
 *****                      3          1           1      //下半部分
  ***                        2          2           1
   *                          1          3           1
 */
public class SolidDiamond {
         public static void main(String[] args) {
           // 上半部分
                   //行数
                   for (int i = 1; i <= 4; i++) {
                               //空心部分        每一行都有空心数和星星数,可以先打出第一行的,编程可以先写出其大概的框架,再寻出其循环规律    
                                for (int j = 3; j >= i; j--) {          
                                            System.out.print(" ");
                                 }
                               //星星部分
                               for (int k = 1; k <= 2 * i - 1; k++) {
                                               System.out.print("*");
                                 }
                     //换行
                      System.out.println();
                   }
  
           // 下半部分
                    //行数
                   for (int i = 3; i >= 1; i--) {
                                //空心部分
                                for (int j = 3; j >= i; j--) {
                                           System.out.print(" ");
                                 }
                                  //星星部分
                                for (int k = 1; k <= 2 * i - 1; k++) {
                                            System.out.print("*");
                                  }
                        //换行
                       System.out.println();
                     }
           }
}