用星号来打印金字塔,有一定的规律:
1、中心对齐;
2、从上往下,每一层的星星个数都是奇数,而且每一层星星数量可以用以下公式来计算:2*n-1;
3、每一层前面都会出现空位,前面的空位数为当前层数减1,即满足公式:n-1
根据上述规律,我们得出如下算法:
public void testKing() {// 定义金字塔层数
int n = 7
for (int i = 1 i <= n i++) {
// 第一层循环,打印出对应的层数
for (int k = 1 k <= n - i k++) {
// 本层循环,打印出当前层的空位
// 空位数为当前层数减1,即满足公式:n-1
System.out.print(" ")
}
for (int j = 1 j <= 2 * i - 1 j++) {
// 本层循环,打印出当前层的星星个数
// 每一层的星星个数都是奇数,且数量可以用以下公式来计算:2*n-1
System.out.print("*")
}
// 打印出一个换行
System.out.println()
}
}
结果示例:
****
*****
*******
*********
***********
*************
public void display(int num){for (int i = num i > 0 i--) {
for (int j = i j > 0 j--) {
System.out.print("*")
}
System.out.println()
}
for (int i = 2 i <= num i++) {
for (int j = 0 j < i j++) {
System.out.print("*")
}
System.out.println()
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)