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金字塔变形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金字塔变形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(); } } }
运行结果如图: