Java金字塔

package com.tfj.test;
public class JinZiTa {
public static void main(String[] args){
int num=4;
for(int i=0;i<num;i++){
// 找出空格规律
for(int j=1;j<num-i;j++)
System.out.print(" ");
// 找出*规律
for(int k=0;k<2*i+1;k++){
System.out.print("*");
}
System.out.println();
}
}
}

运行结果如图:

Java金字塔及变形-LMLPHP

Java金字塔变形1:

package com.tfj.test;
public class JinZiTa2 {
public static void main(String[] args){
int num=4;
for(int i=0;i<num;i++){
for(int j=1;j<num-i;j++)
System.out.print(" ");
// 方法1:特殊处理金字塔里面空心的
// for(int k=0;k<2*i+1;k++){
// if(i>0&&i<num-1&&k>0&&k<2*i){
// System.out.print(" ");
// }
// else{
// System.out.print("*");
// }
// }
// 方法2:先处理第一层和最后一层,然后处理中间的num-2层
for(int k=0;k<2*i+1;k++){
if(i==0||i==num-1){
System.out.print("*");
}else{
if(k==0||k==2*i){
System.out.print("*");
}else{
System.out.print(" ");
}
}
}
System.out.println();
}
}
}

运行结果如图:

Java金字塔及变形-LMLPHP


Java金字塔变形2:

package com.tfj.test;
public class JinZiTa3 {
public static void main(String[] args){
int num=4;
for(int i=0;i<num;i++){
for(int j=1;j<num-i;j++)
System.out.print(" ");
for(int k=0;k<2*i+1;k++){
if(i>0&&i<num&&k>0&&k<2*i){
System.out.print(" ");
}
else{
System.out.print("*");
}
}
System.out.println();
}
// 将上面的进行倒置,然后稍加处理
for(int i=num-1;i>0;i--){
for(int j=num-i;j>0;j--)
System.out.print(" ");
for(int k=2*i-1;k>0;k--){
if(i>0&&i<num&&k>1&&k<2*i-1){
System.out.print(" ");
}
else{
System.out.print("*");
}
}
System.out.println();
}
}
}

运行结果如图:
Java金字塔及变形-LMLPHP

04-24 18:49