上图为分析图解(初学者的一点心得)
public static void main(String[] args) {
// rows(菱形总行数)一定是奇数
int rows = 17;
// row_s菱形上半部分
int row_s = rows / 2 + 1;
// row_x菱形下半部分
int row_x = rows / 2;
// 先打印上半部分
/**
* !!!!!!当前行数(i)从0开始!!!!!!
*/
for (int i = 0; i < row_s; i++) {
// 打印倒得直角三角形(每行减一个,与当前行数(i)和总行数(row_s)的关系:row_s-i-1)
for (int j = 0; j < row_s - i - 1; j++) {
System.out.print(" ");
}
// 打印正的等腰三角形(每行加两个,与当前行数(i)的关系:2*i+1)
for (int j = 0; j < 2 * i + 1; j++) {
System.out.print("*");
}
// 每行换行
System.out.println();
}
// 打印下半部分
for (int i = 0; i < row_x; i++) {
// 打印正的直角三角形(每行加一个,与当前行数(i)的关系:i+1)
for (int j = 0; j < i + 1; j++) {
System.out.print(" ");
}
// 打印倒得等腰三角形(每行减2个,与当前行数(i)和总行数(row_x)关系:2*row_x-2*i-1)
for (int j = 0; j < 2 * row_x - 2 * i - 1; j++) {
System.out.print("*");
}
// 每行换行
System.out.println();
}
}
</pre><pre>
版权声明:本文为yy251066394原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。