import java.util.Scanner;
public class 空心菱形 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("输入菱形边长:");
int num = sc.nextInt();
// 上三角形
for (int i = num ; i>1 ; i--){
for (int j = 1 ; j<num*2 ; j++) {
if (j==i||j==num*2-i) {
System.out.print("*");
}
else{
System.out.print(" ");
}
}
// 打印一整行的字符后进行换行换行
System.out.println();
}
// 下三角形
// 下三角形打印了一条公共边,在第一层循环的num+1
for (int i = 1 ; i<num+1 ; i++){
// 共循环num*2-1次(没有写等于所以少一个),一行有num*2-1个字符
for (int j = 1 ; j<num*2 ; j++) {
/*
/ if条件前面的i=j打印出左边的边,
/ 后面的num*2-i利用i从1开始递增的特性,使“*”从最后一个空间开始,每次都向前一格打印,从而形成右边的边
*/
if (j==i||j==num*2-i) {
System.out.print("*");
}
else{
System.out.print(" ");
}
}
System.out.println();
}
}
}
打印结果如下
输入菱形边长:4
*
* *
* *
* *
* *
* *
*