java怎么打出三角形

Python029

java怎么打出三角形,第1张

用Java代码中的for循环可以打印出各种三角形,便于熟悉for循环的特性,即外环循环执行一次,内循环执行N次。

工具:

电脑软件

for循环

三角形

方法:

1、打印定点在左下的直角三角形;

2、打印定点在左上的直角三角形;

3、打印定点在右下的直角三角形,这里三角形的形状是由*所占的位置决定的;

4、打印定点在左下的直角三角形,这里三角形的形状是由*所占的位置决定的;

5、打印定点在正上方的直角三角形;

6、打印定点在正下方的直角三角形。

没有这么简单的吧 因为给出底长 还要算高 你上面的sample那个根本不算是三角形吧 一条边歪了 而且你给出底长为7的话 那么点阵是1357和1234567和147和17 4种情况 其实这个最后还是求一个数的约数问题 看似简单 其实要考虑的深点啊~ 这种算法题你网上搜下ACM会出来一大坨~

程序大概就是首先提示输入一个值作为直角长方形的底 然后求出这个底-1的值的约数 约数就是他的跨度 然后再根据跨度算高 然后用高作为循环次数print出直角三角形

其实思路已经给到这地步了 还不自己动手一味的在baidu知道求代码是不会有进步的~ 下面的可以自己写写看吧~ 干巴爹~

    public static void printTriangle(int end) {

        // 打印第一行

        for (int i = 0 i < end + 1 i++) {

            System.out.print("*")

        }

        // 打印剩下的所有行

        for (int i = 1 i < end + 1 i++) {

            System.out.println()// 打印一个换行

            int front = i// 斜边之前

            int behind = end// 最后一个

            // front即斜边之前都打印空格

            for (int k = 0 k < front k++) {

                System.out.print(" ")

            }

            // 最后一行只打印一个*号

            if (i < end) {

                System.out.print("*")

            }

            // 斜边到最后之间打印空格

            for (int k = front + 1 k < behind k++) {

                // 第一行倒数第三列打印直角标志

                if (i == 1) {

                    if (k == behind - 2) {

                        System.out.print("*")

                    } else {

                        System.out.print(" ")

                    }

                }

                // 第二行倒数第三列、倒数第二列打印直角标识

                else if (i == 2) {

                    // 倒数

                    if (k == behind - 2 || k == behind - 1) {

                        System.out.print("*")

                    } else {

                        System.out.print(" ")

                    }

                } else {

                    System.out.print(" ")

                }

            }

            // 打印最后一个*号

            System.out.print("*")

        }

    }

你也可以用数组来打印

下面是打印出来的图案