java如何打印菱形
打印菱形的方法
在Java中打印菱形可以通过嵌套循环实现,核心思路是控制空格和星号的输出数量。以下是一个完整的实现示例:
public class PrintDiamond {
public static void main(String[] args) {
int n = 5; // 菱形的行数(上半部分)
// 打印上半部分
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("*");
}
System.out.println();
}
// 打印下半部分
for (int i = n - 1; i >= 1; i--) {
for (int j = 1; j <= n - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("*");
}
System.out.println();
}
}
}
代码说明
- 变量
n控制菱形的大小,表示上半部分的行数 - 上半部分使用递增循环,从1到n
- 下半部分使用递减循环,从n-1到1
- 内层第一个循环控制空格数量,与当前行数相关
- 内层第二个循环控制星号数量,遵循2*i-1的规律
输出示例
当n=5时,程序输出如下:
*
*
*
*
*
*
*
*
*
扩展方法
如果需要打印空心菱形,可以修改星号输出逻辑,只在边缘位置打印星号:

// 空心菱形修改部分
for (int k = 1; k <= 2 * i - 1; k++) {
if (k == 1 || k == 2 * i - 1) {
System.out.print("*");
} else {
System.out.print(" ");
}
}






