• java中打印实心菱形以及空心菱形的方法


    一、打印效果

    二、实现代码汇总

    为了方便初学者对代码的理解,建议熟练t1到t5为各种三角的打印,然后再进行菱形的打印实现。
      1 package circulationDemo;
      2 
      3 import java.util.Scanner;
      4 
      5 public class Test {
      6     public static void main(String[] args) {
      7         Scanner input = new Scanner(System.in);
      8         System.out.println("请输入要打印的行数:");
      9         int num = input.nextInt();
     10         t1(num);// 正直角
     11         split();
     12         t2(num);// 倒直角
     13         split();
     14         t3(num);// 等腰三角
     15         split();
     16         t4(num);// 等腰倒三角++
     17         split();
     18         t5(num);// 等腰倒三角--
     19         split();
     20         t6(num);// 实心菱形
     21         split();
     22         t7(num);// 空心菱形(1)
     23         split();
     24         t8(num);// 空心菱形(2)
     25         split();
     26         t9(num);// 空心菱形(3)
     27     }
     28 
     29     private static void t9(int num) {
     30         for (int k = 1; k <= num; k++) {
     31             for (int i = 1; i <= (num - k); i++) {
     32                 System.out.print(" ");
     33             }
     34             System.out.print("*");
     35             for (int i = 1; i <= ((k - 2) * 2 + 1); i++) {
     36                 System.out.print(" ");
     37             }
     38             if (k != 1) {
     39                 System.out.print("*");
     40             }
     41             System.out.println();
     42         }
     43         for (int k = num-1; k >= 1; k--) {
     44             for (int i = 1; i <= (num - k); i++) {
     45                 System.out.print(" ");
     46             }
     47             System.out.print("*");
     48             for (int i = 1; i <= ((k - 2) * 2 + 1); i++) {
     49                 System.out.print(" ");
     50             }
     51             if (k != 1) {
     52                 System.out.print("*");
     53             }
     54             System.out.println();
     55         }
     56     }
     57 
     58     private static void t8(int num) {
     59         // 上半部分
     60         for (int i = 1; i <= num; i++) {
     61             // 打印上半部分空格
     62             for (int j = 1; j <= num - i; j++) {
     63                 System.out.print(" ");
     64             }
     65             // 打印原本实心的*部分
     66             for (int j = 1; j <= 2 * i - 1; j++) {
     67                 // 仅在一行的开头和末尾打印*
     68                 if (j == 1 || j == 2 * i - 1) {
     69                     System.out.print("*");
     70                 } else {
     71                     System.out.print(" ");
     72                 }
     73             }
     74             System.out.println();
     75         }
     76         // 下半部分
     77         for (int i = 1; i <= num - 1; i++) {
     78             for (int j = 1; j <= i; j++) {
     79                 System.out.print(" ");
     80             }
     81             for (int j = 1; j <= 2 * (num - i - 1) + 1; j++) {
     82                 if (j == 1 || j == 2 * (num - i - 1) + 1) {
     83                     System.out.print("*");
     84                 } else {
     85                     System.out.print(" ");
     86                 }
     87             }
     88             System.out.println();
     89         }
     90 
     91     }
     92 
     93     private static void t7(int num) {
     94         // 打印上半部分
     95         for (int i = 1; i <= num; i++) {
     96             // 打印空格
     97             for (int j = 1; j <= (num - i); j++) {
     98                 System.out.print(" ");
     99             }
    100             // 打印*的个数
    101             if (i == 1) {
    102                 System.out.print("*");
    103             } else {
    104                 System.out.print("*");
    105                 // 打印菱形里的空格
    106                 for (int j = 1; j <= (2 * i - 3); j++) {
    107                     System.out.print(" ");
    108                 }
    109                 System.out.print("*");
    110             }
    111 
    112             System.out.println();
    113         }
    114         // 打印下半部分
    115         for (int i = num - 1; i > 0; i--) {
    116             // 打印空格
    117             for (int j = 1; j <= (num - i); j++) {
    118                 System.out.print(" ");
    119             }
    120             // 打印*的个数
    121             if (i == 1) {
    122                 System.out.print("*");
    123             } else {
    124                 System.out.print("*");
    125                 // 打印菱形里的空格
    126                 for (int j = 1; j <= (2 * i - 3); j++) {
    127                     System.out.print(" ");
    128                 }
    129                 System.out.print("*");
    130             }
    131             System.out.println();
    132         }
    133     }
    134 
    135     private static void t6(int num) {
    136         // 上半部分
    137         for (int i = 1; i <= num; i++) {
    138             for (int j = 1; j <= num - i; j++) {
    139                 System.out.print(" ");
    140             }
    141             for (int j = 1; j <= 2 * i - 1; j++) {
    142                 System.out.print("*");
    143             }
    144             System.out.println();
    145         }
    146         // 下半部分
    147         for (int i = 1; i <= num - 1; i++) {
    148             for (int j = 1; j <= i; j++) {
    149                 System.out.print(" ");
    150             }
    151             for (int j = 1; j <= 2 * (num - 1 - i) + 1; j++) {
    152                 System.out.print("*");
    153             }
    154             System.out.println();
    155         }
    156     }
    157 
    158     private static void t5(int num) {
    159         for (int i = num; i > 0; i--) {
    160             for (int j = 1; j <= num - i; j++) {
    161                 System.out.print(" ");
    162             }
    163             for (int j = 1; j <= 2 * i - 1; j++) {
    164                 System.out.print("*");
    165             }
    166             System.out.println();
    167         }
    168     }
    169 
    170     private static void t4(int num) {
    171         for (int i = 1; i <= num; i++) {
    172             for (int j = 1; j <= i - 1; j++) {
    173                 System.out.print(" ");
    174             }
    175             for (int j = 1; j <= 2 * (num - i) + 1; j++) {
    176                 System.out.print("*");
    177             }
    178             System.out.println();
    179         }
    180     }
    181 
    182     private static void t3(int num) {
    183         for (int i = 1; i <= num; i++) {
    184             for (int j = 1; j <= num - i; j++) {
    185                 System.out.print(" ");
    186             }
    187             for (int j = 1; j <= 2 * i - 1; j++) {
    188                 System.out.print("*");
    189             }
    190             System.out.println();
    191         }
    192     }
    193 
    194     private static void split() {
    195         System.out.println("---------------");
    196     }
    197 
    198     private static void t2(int num) {
    199         for (int i = 1; i <= num; i++) {
    200             for (int j = 1; j <= num - i + 1; j++) {
    201                 System.out.print("*");
    202             }
    203             System.out.println();
    204         }
    205     }
    206 
    207     private static void t1(int num) {
    208         for (int i = 1; i <= num; i++) {
    209             for (int j = 1; j <= i; j++) {
    210                 System.out.print("*");
    211             }
    212             System.out.println();
    213         }
    214     }
    215 
    216 }
  • 相关阅读:
    应该选取表中哪些字段作为索引?
    maven聚合(依赖聚合)
    maven(1)
    maven打包记录1
    tomcat 日志(2)
    tomcat日志(1)
    存储过程
    EXISTS的用法介绍
    学习笔记-移动设备的处理器指令集 armv6 armv7 armv7s arm64
    学习笔记-nil NULL NSNull Nil的区别
  • 原文地址:https://www.cnblogs.com/panhouye/p/6594742.html
Copyright © 2020-2023  润新知