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 }
时间: 2024-11-06 16:45:54