这是一道经典的例题,考验对for循环的掌握,具体要求为打印出如下金字塔:
分析每层打印出*的个数,找出其中的规律问题就变得简单了,需要一步一步来切勿急于求成:
具体代码实现如下:
public class 空心金字塔练习 {
public static void main (String[] args) {
int i = 1;
int j = 1;
int k =1;
//控制层数
for(i=1;i<=5;i++) {
//控制每层的空格数
for(k=1;k<=5-i;k++) {
System.out.print(" ");
}
//控制每层打印的*
for(j=1;j<=i*2-1;j++) {
System.out.print("*");
}System.out.print("\n");
}
}
}
如果打印空心金字塔则会更有难度,需要分析出每一层处第一个和最有一个打印出*外其他都是空格;且在金字塔最后一层需要全部打印*。具体实现代码如下:
public class 空心金字塔练习 {
public static void main (String[] args) {
int i = 1;
int j = 1;
int k =1;
//控制层数
for(i=1;i<=5;i++) {
//控制每层的空格数
for(k=1;k<=5-i;k++) {
System.out.print(" ");
}
//控制每层打印的*
for(j=1;j<=i*2-1;j++) {
if(j==1|| j ==2*i-1 ||i==5) {
System.out.print("*");
}else {
System.out.print(" ");
}
}System.out.print("\n");
}
}
}