码迷,mamicode.com
首页 > 其他好文 > 详细

关于双重循环的简单应用——打印菱形(没事写的玩的,纯属娱乐)

时间:2015-04-03 12:46:11      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:

public class LingXing {

        public static void print(int n){
                int i = 0;
                int j = 0;
                for(i=0; i<n; i++){//前四行
                        for(j=0; j<n+i;j++){
                                if(j < n-i-1)
                                        System.out.print(" ");
                                else
                                        System.out.print("*");
                        }
                        System.out.println();
                }
                
                for(i=1; i<n; i++){//后三行
                        for(j=0; j<(2*n-i-1); j++){
                                if(j < i)
                                        System.out.print(" ");
                                else
                                        System.out.print("*");
                        }
                        System.out.println();
                }
        }
        
        public static void main(String[] args) {
                print(4);
        }
}

结果显示:

   *
  ***
 *****
*******
 *****
  ***
   *

然后有网友问能不能把中间的星号去掉。好吧,有需求就要尽力满足咯。于是我加了两行:

public class LingXing {

        public static void print(int n){
                int i = 0;
                int j = 0;
                for(i=0; i<n; i++)
                {//前四行
                        for(j=0; j<n+i;j++)
                        {
                                if(j < n-i-1)
                                        System.out.print(" ");
                                else if(j==n-i-1||(j==n+i-1))
                                        System.out.print("*");//红色代表新加上去的,下同……
                                else
                                        System.out.print(" ");
                        }
                        System.out.println();
                }
                
                for(i=1; i<n; i++)
                {//后三行
                        for(j=0; j<(2*n-i-1); j++)
                        {
                                if(j < i)
                                        System.out.print(" ");
                                else if(j==i||(j==2*n-i-2))
                                        System.out.print("*");
                                        
                                else
                                        System.out.print(" ");
                        }
                        System.out.println();
                }
        }
        
        public static void main(String[] args) {
                print(4);
        }
}

 

结果显示为:

   *
  * *
 *   *
*     *
 *   *
  * *
   *

 

然后我就在想:能不能在中间再加一圈菱形。于是:

public class LingXing {

    public static void print(int n){
        int i = 0;
        int j = 0;
        for(i=0; i<n; i++)
        {//前四行
            for(j=0; j<n+i;j++)
            {
                if(j < n-i-1)
                    System.out.print(" ");
                else if(j==n-i-1||(j==n+i-1)||(j==n-i+1)||(j==n+i-3))
                    System.out.print("*");
                else
                    System.out.print(" ");
            }
            System.out.println();
        }
        
        for(i=1; i<n; i++)
        {//后三行
            for(j=0; j<(2*n-i-1); j++)
            {
                if(j < i)
                    System.out.print(" ");
                else if(j==i||(j==2*n-i-2)||(j==i+2)||(j==2*n-i-4))
                    System.out.print("*");
                    
                else
                    System.out.print(" ");
            }
            System.out.println();
        }
    }
    
    public static void main(String[] args) {
        print(7);
    }
}

显示结果为:

      *
     * *
    * * *
   * * * *
  * *   * *
 * *     * *
* *       * *
 * *     * *
  * *   * *
   * * * *
    * * *
     * *
      *

在这里我就抛砖引玉了啊,望各位大神提供更好玩的玩法……

关于双重循环的简单应用——打印菱形(没事写的玩的,纯属娱乐)

标签:

原文地址:http://www.cnblogs.com/leejuntongxue/p/4389428.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!