java如何输出形状
在Java中输出形状可以通过多种方式实现,常见的方法包括使用循环结构控制字符的排列组合。以下是几种典型形状的实现示例:
输出矩形
通过嵌套循环控制行和列的打印,外层循环控制行数,内层循环控制每行的星号数量:
int rows = 5;
int cols = 10;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
System.out.print("*");
}
System.out.println();
}
输出直角三角形
调整内层循环的终止条件,使每行星号数量随行数递增:

int n = 5;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println();
}
输出倒直角三角形
修改循环条件,使星号数量从最大值递减:
int n = 5;
for (int i = n; i >= 1; i--) {
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println();
}
输出等腰三角形
结合空格和星号的打印,控制每行的缩进和星号数量:

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();
}
输出菱形
拆分菱形为上下两部分,分别打印等腰三角形和倒等腰三角形:
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();
}
输出空心图形
通过条件判断控制边框字符的打印,内部填充空格:
int size = 5;
for (int i = 1; i <= size; i++) {
for (int j = 1; j <= size; j++) {
if (i == 1 || i == size || j == 1 || j == size) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
以上方法均可通过调整循环参数改变图形大小。对于更复杂的图案,可结合数学公式计算字符位置。






