我们需要的印的是这个图形:
代码:
public static void printSjx(int n) {
// 1. 外层for循环控制打印行数
for(int i=1; i<=n; i++) {
// 2.1 打印当前行
// 2.1.1 打印当前行前面的空格
for(int j=1; j<=n-i; j++) {
System.out.print(" ");
}
// 2.1.2 打印当前行的*
for(int j=1; j<=2*i-1; j++) {
// j取第一个值和最后一个值的时候需要打印
// 或者是最后一行的时候,直接打印*
if((j==1 || j==2*i-1) ) {
System.out.print("*");
}else { // 三角形中间部分用空格代替
System.out.print(" ");
}
}
// 2.2 打印完当前行后,换行
System.out.println();
}
}
public static void printSjx2(int n) {
// 1. 外层for循环控制打印行数
for(int i=n; i>=1; i--) {
// 2.1 打印当前行
// 2.1.1 打印当前行前面的空格
for(int j=1; j<=n-i; j++) {
System.out.print(" ");
}
// 2.1.2 打印当前行的*
System.out.print(" ");
for(int j=1; j<=2*i-1; j++) {
// j取第一个值和最后一个值的时候需要打印
// 或者是最后一行的时候,直接打印*
if((j==1 || j==2*i-1) ) {
System.out.print("*");
}else { // 三角形中间部分用空格代替
System.out.print(" ");
}
}
// 2.2 打印完当前行后,换行
System.out.println();
}
}
public static void main(String[] args) {
printSjx(5);
printSjx2(4);
}
分析可见注释内容
内容仅供参考,请勿复制粘贴,多动脑筋才会理解。



