📜  Java代码创建金字塔和图案

📅  最后修改于: 2020-09-26 19:10:24             🧑  作者: Mango

在此程序中,您将学习如何在Java中创建金字塔,半金字塔,倒金字塔,Pascal三角形和Floyd三角形的控制语句。

List of Source Code
Code to print triangles using *, digits and characters
Code to print inverted triangles using * and digits
Code to print full pyramids
Code to print Pascal’s triangle
Code to print Floyd’s triangle
程序使用*,数字和字符打印三角形

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

*
* *
* * *
* * * *
* * * * *

源代码

public class Pattern {

    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:使用数字打印半金字塔a的程序

1
1 2
1 2 3
1 2 3 4
1 2 3 4 5

源代码

public class Pattern {

    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();
        }
    }
}

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

A
B B
C C C
D D D D
E E E E E

源代码

public class Pattern {

    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();
        }
    }
}
程序使用*和数字打印倒半金字塔

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

* * * * *
* * * *
* * * 
* *
*

源代码

public class Pattern {

    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:使用数字倒置的半金字塔

1 2 3 4 5
1 2 3 4 
1 2 3
1 2
1

源代码

public class Pattern {

    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();
        }
    }
}
使用*和数字显示金字塔和倒金字塔的程序

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

*
      * * *
    * * * * *
  * * * * * * *
* * * * * * * * *

源代码

public class Pattern {

    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:使用数字打印金字塔的程序

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

源代码

public class Pattern {

    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();
        }
    }
}

示例8:使用*倒置完整金字塔

* * * * * * * * *
  * * * * * * *
    * * * * *
      * * *
        *

源代码

public class Pattern {

    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:打印Pascal的三角形

1
         1   1
       1   2   1
     1   3   3    1
   1   4   6   4   1
 1   5   10   10  5   1

源代码

public class Pattern {

    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();
        }
    }
}

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

1
2 3
4 5 6
7 8 9 10

源代码

public class Pattern {

    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();
        }
    }
}