java打印图形

  1. 打印实心三角形
@Test
    public void test(){
        //打印的行数
        int n=11;
        //循环打印总行
        for(int i=0;i<n;i++){

            // 每行的空格
            for(int j=i;j<n;j++){
                System.out.print(" ");
            }
            // 每行的*
            for(int k=0;k<2*i+1;k++){
                System.out.print("*");
            }

            //打印完一行换行       
            System.out.println();
        }
    }

输出:

           *
          ***
         *****
        *******
       *********
      ***********
     *************
    ***************
   *****************
  *******************
 *********************
  1. 打印空心三角形
/**
     * 打印空心三角形 
     */
    @Test
    public void test2(){
        int n=10;
        for(int i=0;i<n;i++){

            for(int j=i;j<n;j++){
                System.out.print(" ");
            }

            // 打印每行
            for(int k=0;k<2*i+1;k++){

                // 如果是最后一行就全部打印*
                if(i == n-1){
                    System.out.print("*");
                }else{

                    // 如果是第一个和最后个就打印*
                    if(k==0 || k==2*i){
                        System.out.print("*");
                    }else{//否则就打印空格
                        System.out.print(" ");
                    }
                }
            }
            System.out.println();
        }
    }

输出:

          *
         * *
        *   *
       *     *
      *       *
     *         *
    *           *
   *             *
  *               *
 *******************
  1. 使用0和1打印菱形
/**
     * 打印菱形
     */
    @Test
    public void test3(){
        int h =10;//行数
        // 打印n行
        for(int i=0;i<h;i++){
            //每一行的开头先打印“1”
            for(int j=0;j<h-i;j++){
                System.out.print("1");
            }

            //中间打印“0”
            for(int m=0;m<2*i+1;m++){
                System.out.print("0");
            }

            //打印右边的“1”
            for(int j=0;j<h-i;j++){
                System.out.print("1");
            }

            //一行结束换行
            System.out.println();
        }

        //打印下半部分
        for(int i=0;i<h;i++){
            //打印左边的“1”
            for(int j=h-i;j<=h;j++){
                System.out.print("1");
            }

            //打印中间的“0”
            for(int m=0;m<(h-i)*2-1;m++){
                System.out.print("0");
            }

            //打印右边的“1”
            for(int n=h-i;n<=h;n++){
                System.out.print("1");
            }

            //一行结束换行
            System.out.println();
        }
    }

输出:

111111111101111111111
111111111000111111111
111111110000011111111
111111100000001111111
111111000000000111111
111110000000000011111
111100000000000001111
111000000000000000111
110000000000000000011
100000000000000000001
100000000000000000001
110000000000000000011
111000000000000000111
111100000000000001111
111110000000000011111
111111000000000111111
111111100000001111111
111111110000011111111
111111111000111111111
111111111101111111111
  1. 打印字母金字塔
int n = 26;
        // 循环打印的层数
        for(int i=0;i < n;i++){

            /* 
             * 打印空格
             * 空格个数:(层数-1)
             */
            for(int j = 0;j < n-i;j++){
                System.out.print(" ");
            }

            /*
             * 打印字符
             * 字母的个数: (2*层数 +1)
             */
            for(int m = 0;m < 2*i+1;m++){

                //当是第一个和最后一个或者m是偶数的时候,打印字符
                if(m%2 == 0){
                    char c = (char)(65 + i);
                    System.out.print(c);
                }else{//否则打印空格
                    System.out.print("_");
                }
            }
            // 换行
            System.out.println();
        }


        //倒着打印
        for(int i = 0; i < n;i++){


            /* 
             * 打印空格
             * 空格个数:(第几层i)
             */
            for(int j=0;j<i;j++){
                System.out.print(" ");
            }

            /*
             * 打印字符
             * 字母的个数: (2*(层数 -i))
             */
            for(int m=0;m<2*(n-i);m++){
                //当是第一个和最后一个或者m是偶数的时候,打印字符
                if(m==0 || m==2*i || m%2 == 0){
                    char c = (char)(65 + i);
                    System.out.print(c);
                }else{//否则打印空格
                    System.out.print(" ");
                }
            }

            System.out.println();
        }

输出:

                          A
                         B_B
                        C_C_C
                       D_D_D_D
                      E_E_E_E_E
                     F_F_F_F_F_F
                    G_G_G_G_G_G_G
                   H_H_H_H_H_H_H_H
                  I_I_I_I_I_I_I_I_I
                 J_J_J_J_J_J_J_J_J_J
                K_K_K_K_K_K_K_K_K_K_K
               L_L_L_L_L_L_L_L_L_L_L_L
              M_M_M_M_M_M_M_M_M_M_M_M_M
             N_N_N_N_N_N_N_N_N_N_N_N_N_N
            O_O_O_O_O_O_O_O_O_O_O_O_O_O_O
           P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P
          Q_Q_Q_Q_Q_Q_Q_Q_Q_Q_Q_Q_Q_Q_Q_Q_Q
         R_R_R_R_R_R_R_R_R_R_R_R_R_R_R_R_R_R
        S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S
       T_T_T_T_T_T_T_T_T_T_T_T_T_T_T_T_T_T_T_T
      U_U_U_U_U_U_U_U_U_U_U_U_U_U_U_U_U_U_U_U_U
     V_V_V_V_V_V_V_V_V_V_V_V_V_V_V_V_V_V_V_V_V_V
    W_W_W_W_W_W_W_W_W_W_W_W_W_W_W_W_W_W_W_W_W_W_W
   X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X
  Y_Y_Y_Y_Y_Y_Y_Y_Y_Y_Y_Y_Y_Y_Y_Y_Y_Y_Y_Y_Y_Y_Y_Y_Y
 Z_Z_Z_Z_Z_Z_Z_Z_Z_Z_Z_Z_Z_Z_Z_Z_Z_Z_Z_Z_Z_Z_Z_Z_Z_Z
A A A A A A A A A A A A A A A A A A A A A A A A A A 
 B B B B B B B B B B B B B B B B B B B B B B B B B 
  C C C C C C C C C C C C C C C C C C C C C C C C 
   D D D D D D D D D D D D D D D D D D D D D D D 
    E E E E E E E E E E E E E E E E E E E E E E 
     F F F F F F F F F F F F F F F F F F F F F 
      G G G G G G G G G G G G G G G G G G G G 
       H H H H H H H H H H H H H H H H H H H 
        I I I I I I I I I I I I I I I I I I 
         J J J J J J J J J J J J J J J J J 
          K K K K K K K K K K K K K K K K 
           L L L L L L L L L L L L L L L 
            M M M M M M M M M M M M M M 
             N N N N N N N N N N N N N 
              O O O O O O O O O O O O 
               P P P P P P P P P P P 
                Q Q Q Q Q Q Q Q Q Q 
                 R R R R R R R R R 
                  S S S S S S S S 
                   T T T T T T T 
                    U U U U U U 
                     V V V V V 
                      W W W W 
                       X X X 
                        Y Y 
                         Z 
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值