Java基础知识强化07:打印出空心菱形

1.如图打印出空心菱形

2.下面是逻辑实现代码:

 1 package himi.hebao04;
 2 
 3 import java.util.Scanner;
 4 
 5 public class TestDemo08 {
 6     public static void main(String[] args) {
 7         int length = 1;// 存储菱形的边长的变量
 8         Scanner sc = new Scanner(System.in);// 输入数据的扫描对象
 9         System.out.println("请输入菱形的边长:");
10         length = sc.nextInt();// 获取输入的边长数值
11         /* 打印菱形的上半部分三角形 行数为length行 */
12         for (int i = 1; i <= length; i++) {// 需要打印的行数
13             for (int j = 1; j <= length - i; j++) {// 打印左边空白的区域,随行递减1
14                 System.out.print(" ");
15             }
16             for (int k = 1; k <= 2 * i - 1; k++) {// 打三角形的区域
17                 if (k == 1 || k == 2 * i - 1) {// 空心的获取 除每行第一个以及最后一个 外其余为空白 ,起始位置不再是1行1列,因为前面空格打印占位了
18                     System.out.print("*");
19                 } else {
20                     System.out.print(" ");
21                 }
22             }
23             System.out.println();
24         }
25         /* 打印菱形的下半部分三角形 中间行公用 故行数为length-1 */
26         for (int i = length - 1; i > 0; i--) {
27             for (int j = 1; j <= length - i; j++) {
28                 System.out.print(" ");
29             }
30             for (int k = 1; k <= 2 * i - 1; k++) {
31                 if (k == 1 || k == 2 * i - 1) {
32                     System.out.print("*");
33                 } else {
34                     System.out.print(" ");
35                 }
36             }
37             System.out.println();
38         }
39     }
40 
41 }
原文地址:https://www.cnblogs.com/hebao0514/p/4770390.html