创建金字塔模式的 Java 代码

在本程序中,您将学习使用 Java 中的控制语句创建金字塔、半金字塔、倒金字塔、帕斯卡三角形和弗洛伊德三角形。

要理解此示例,您应该具备以下 Java 编程的知识:

示例 1:使用 * 打印半金字塔

源代码

public class Main {

  public static void main(String[] args) {
    int rows = 5;

    for (int i = 1; i <= rows; ++i) {
      for (int j = 1; j <= i; ++j) {
        System.out.print("* ");
      }
      System.out.println();
    }
  }
}
*
* *
* * *
* * * *
* * * * *

示例 2:使用数字打印半金字塔

源代码

public class Main {

  public static void main(String[] args) {
    int rows = 5;

    for (int i = 1; i <= rows; ++i) {
      for (int j = 1; j <= i; ++j) {
        System.out.print(j + " ");
      }
      System.out.println();
    }
  }
}
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5

示例 3:使用字母打印半金字塔的程序

源代码

public class Main {

  public static void main(String[] args) {
    char last = 'E', alphabet = 'A';

    for (int i = 1; i <= (last - 'A' + 1); ++i) {
      for (int j = 1; j <= i; ++j) {
        System.out.print(alphabet + " ");
      }
      ++alphabet;

      System.out.println();
    }
  }
}
A
B B
C C C
D D D D
E E E E E

示例 4:使用 * 的倒半金字塔

源代码

public class Main {

  public static void main(String[] args) {
    int rows = 5;

    for (int i = rows; i >= 1; --i) {
      for (int j = 1; j <= i; ++j) {
        System.out.print("* ");
      }
      System.out.println();
    }
  }
}
* * * * *
* * * *
* * *
* *
*

示例 5:使用数字的倒半金字塔

源代码

public class Main {

  public static void main(String[] args) {
    int rows = 5;

    for (int i = rows; i >= 1; --i) {
      for (int j = 1; j <= i; ++j) {
        System.out.print(j + " ");
      }
      System.out.println();
    }
  }
}
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1

示例 6:使用 * 打印完整金字塔的程序

源代码

public class Main {

  public static void main(String[] args) {
    int rows = 5, k = 0;

    for (int i = 1; i <= rows; ++i, k = 0) {
      for (int space = 1; space <= rows - i; ++space) {
        System.out.print("  ");
      }

      while (k != 2 * i - 1) {
        System.out.print("* ");
        ++k;
      }

      System.out.println();
    }
  }
}
        *
      * * *
    * * * * *
  * * * * * * *
* * * * * * * * *

示例 7:使用数字打印金字塔

源代码

public class Main {

  public static void main(String[] args) {
    int rows = 5, k = 0, count = 0, count1 = 0;

    for (int i = 1; i <= rows; ++i) {
      for (int space = 1; space <= rows - i; ++space) {
        System.out.print("  ");
        ++count;
      }

      while (k != 2 * i - 1) {
        if (count <= rows - 1) {
          System.out.print((i + k) + " ");
          ++count;
        } else {
          ++count1;
          System.out.print((i + k - 2 * count1) + " ");
        }

        ++k;
      }
      count1 = count = k = 0;

      System.out.println();
    }
  }
}

        1
      2 3 2
    3 4 5 4 3
  4 5 6 7 6 5 4
5 6 7 8 9 8 7 6 5

示例 8:使用 * 打印倒全金字塔

源代码

public class Main {

  public static void main(String[] args) {
    int rows = 5;

    for(int i = rows; i >= 1; --i) {
      for(int space = 1; space <= rows - i; ++space) {
        System.out.print("  ");
      }

      for(int j=i; j <= 2 * i - 1; ++j) {
        System.out.print("* ");
      }

      for(int j = 0; j < i - 1; ++j) {
        System.out.print("* ");
      }

      System.out.println();
    }
  }
}
* * * * * * * * *
  * * * * * * *
    * * * * *
      * * *
        *

示例 9:打印帕斯卡三角形

源代码

public class Main {

  public static void main(String[] args) {
    int rows = 6, coef = 1;

    for(int i = 0; i < rows; i++) {
      for(int space = 1; space < rows - i; ++space) {
        System.out.print("  ");
      }

      for(int j = 0; j <= i; j++) {
        if (j == 0 || i == 0)
          coef = 1;
        else
          coef = coef * (i - j + 1) / j;

        System.out.printf("%4d", coef);
      }

      System.out.println();
    }
  }
}
           1
         1   1
       1   2   1
     1   3   3    1
   1   4   6   4   1
 1   5   10   10  5   1

示例 10:打印弗洛伊德三角形

源代码

public class Main {

  public static void main(String[] args) {
    int rows = 4, number = 1;

    for(int i = 1; i <= rows; i++) {

      for(int j = 1; j <= i; j++) {
        System.out.print(number + " ");
        ++number;
      }

      System.out.println();
    }
  }
}
1
2 3
4 5 6
7 8 9 10