zoukankan      html  css  js  c++  java
  • 【风马一族_Java】使用java,画出任意大小的菱形

      1 public class rhombic {
      2     
      3     public static void main(String[] args){
      4                 
      5                 /**
      6                  * scriber()画菱形的方法,参数 9 是指菱形的对角线的长度
      7                  * 参数,在此处,只使用奇数,
      8                  * 如果,你想要使用偶数,请找我,否则自己处理,哈哈
      9                  */
     10         scriber(29);
     11                 
     12     }
     13 
     14     /**
     15      * 画出一个默认大小的菱形
     16          * 功能已经完成,好像可以简化一下
     17      */
     18     private static void scriber(int number) {
     19         /**
     20          * 画出一个菱形所需要的行数
     21          */
     22         for(int i=0; i<number; ++i){
     23             /**
     24              *画出一个菱形所需要的列数
     25              */
     26             for(int y=0; y<number; ++y){
     27                 if(y==number/2-i || y==number/2+i||i==number/2+y || (y==number-i+number/2-1 && i>number/2))
     28                     System.out.print("*");
     29                 else
     30                     System.out.print(" ");                
     31             }
     32             System.out.println();
     33         }
     34         
     35     }
     36     /**
     37      * 画出一个默认大小的菱形
     38          * 功能已经完成,好像可以简化一下
     39      */
     40     private static void scriber4(int number) {
     41         /**
     42          * 画出一个菱形所需要的行数
     43          */
     44         for(int i=0; i<number; ++i){
     45             /**
     46              *画出一个菱形所需要的列数
     47              */
     48             for(int y=0; y<number; ++y){
     49                 if(y==number/2-i || y==number/2+i||i==number/2+y || (y==number-i+number/2-1 && i>number/2))
     50                     System.out.print("*");
     51                 else
     52                     System.out.print(" ");                
     53             }
     54             System.out.println();
     55         }
     56         
     57     }
     58     /**
     59      * 画出一个默认大小的菱形
     60      * 画出菱形的上两个边与左下角的边
     61      */
     62     private static void scriber3(int number) {
     63         /**
     64          * 画出一个菱形所需要的行数
     65          */
     66         for(int i=0; i<number; ++i){
     67             /**
     68              *画出一个菱形所需要的列数
     69              */
     70             for(int y=0; y<number; ++y){
     71                 if(y==number/2-i || y==number/2+i||i==number/2+y)
     72                     System.out.print("*");
     73                 else
     74                     System.out.print(" ");                
     75             }
     76             System.out.println();
     77         }
     78         
     79     }
     80     
     81     /**
     82      * 画出一个默认大小的菱形
     83      * 第二步画了。菱形的左边部分
     84      */
     85     private static void scriber2(int number) {
     86         /**
     87          * 画出一个菱形所需要的总次数
     88          */
     89         for(int i=0; i<number; ++i){
     90             /**
     91              * 每次都产生两个星光,有个特殊的是,第一个、最后一个的星光是重合的。即星光是二合一、
     92              * 
     93              */
     94             for(int j=number/2, k=number/2;j>0;--j,++k){
     95                 /**
     96                  * 先画画左上边的星光
     97                  * k居然是画下的一个
     98                  */
     99                 if(i==j || i==k)
    100                     System.out.print("*");
    101                 else
    102                     System.out.print(" ");
    103             }
    104             System.out.println();        
    105             
    106         }
    107         
    108     }
    109     
    110     /**
    111      * 画出一个默认大小的菱形
    112      * 先画画左上边的星光
    113      */
    114     private static void scriber1(int number) {
    115         /**
    116          * 画出一个菱形所需要的总次数
    117          */
    118         for(int i=0; i<number; ++i){
    119             /**
    120              * 每次都产生两个星光,有个特殊的是,第一个、最后一个的星光是重合的。即星光是二合一、
    121              * 
    122              */
    123             for(int j=number/2;j>0;--j){
    124                 /**
    125                  * 先画画左上边的星光
    126                  */
    127                 if(i==j )
    128                     System.out.print("*");
    129                 else
    130                     System.out.print(" ");
    131             }
    132             System.out.println();            
    133         }        
    134     }
    135     
    136 }

    run:
                  *             
                 * *            
                *   *           
               *     *          
              *       *         
             *         *        
            *           *       
           *             *      
          *               *     
         *                 *    
        *                   *   
       *                     *  
      *                       * 
     *                         *
    *                           *
     *                         *
      *                       * 
       *                     *  
        *                   *   
         *                 *    
          *               *     
           *             *      
            *           *       
             *         *        
              *       *         
               *     *          
                *   *           
                 * *            
                  *             
    成功构建 (总时间: 0 秒)

    run:
        *   
       * *  
      *   * 
     *     *
    *       *
     *     *
      *   * 
       * *  
        *   
    成功构建 (总时间: 1 秒)

    每天完成一件事。 不管是为了什么。
  • 相关阅读:
    HDU
    HDU
    HDU
    HDU
    POJ
    POJ
    POJ
    hdu-4745 Two Rabbits
    蓝桥杯历年试题 小朋友排队
    蓝桥杯历年试题 矩阵翻硬币
  • 原文地址:https://www.cnblogs.com/sows/p/5364351.html
Copyright © 2011-2022 走看看