package javatext;
public class BBU {
public static void main(String[] args) {
// 总行数,可以修改
int row = 7;
// 每一行的*符号数量
int dollarNumber;
// 追加的空格数量
int spaceNumber;
String dollar = "*";
for (int i = 1; i <= row; i++) {
// 每一行输出的字符
String printString = "";
/*
* 判断行数是否超过了一半,超过一半*符号开始减少
*/
if (i * 2 - 1 > row) {
// 行数超过一半的情况
dollarNumber = (row - i) * 2 + 1;
spaceNumber = (row - dollarNumber) / 2;
} else {
// 行数没超过一半的情况
dollarNumber = i * 2 - 1;
spaceNumber = (row - dollarNumber) / 2;
}
//追加空格
for (int j = 0; j < spaceNumber; j++) {
printString += " ";
}
//追加*符号
for (int j = 0; j < dollarNumber; j++) {
printString += dollar;
}
System.out.println(printString);
}
}
}
```
画线的地方(“ int spaceNumber;”“int dollarNumber”)我不太明白它在里面的意思代表了什么,旁边的注释也有点搞不明白!
不太懂(“ int spaceNumber;”“int dollarNumber”)在里面表达的作用
这是打印一个星号的形状的吧,你运行试试不就知道了?
这是打印一个菱形的星图案。如图:
0001
00111
011111
1111111
011111
00111
0001
0表示空格,1表示*。打印出来的就是1显示的部分。