用*号打印正等腰三角形和倒等腰三角形

题目要求如下图:

倒等腰三角型输出:

package com.Summer_0416.cn;

/**
 * @author Summer
 * 用*打印正等腰三角形或者倒等腰三角形三角
 */
public class Test_Method01 {

    public static void main(String[] args) {
        //嵌套循环打印倒等腰三角形
        for (int line = 0; line <5; line++) {//外层循环控制行数
            for (int space = 0; space < line; space++) {//内循环1分别按照行数生成0,1,2,3,4个空格
                System.out.print(" ");
            }
            for (int star = 0; star < (5-line); star++) {//内循环2分别按照行数生成5个*,4个*,3个*和2个*、1个*
                System.out.print("*");
            }
            for (int star = 0; star < (5-1-line); star++) {//内循环3分别按照行数生成4个*,3个*和2个*、1个*,因为输出值无ln换行所以可以直接拼接循环1结果
                System.out.print("*");
            }
            for (int space = 0; space < line; space++) {//内循环3分别按照行数生成0,1,2,3个空格,因为输出值无ln换行所以可以直接拼接循环2结果
                System.out.print(" ");
            }
            
            System.out.println();//实现外层行换行命令
        }

    }

}

正等腰三角形输出:

package com.Summer_0416.cn;

/**
 * @author Summer
 * 用*号打印正等腰三角形
 */
public class Test_Method03 {

    public static void main(String[] args) {
        for (int line = 0; line < 5; line++) {
            for (int space = 0; space < (5-1-line); space++) {
                System.out.print(" ");
            }
            for (int star = 0; star < (line+1); star++) {
                System.out.print("*");
            }
            for (int star = 0; star < line; star++) {
                System.out.print("*");
            }
            
            for (int space = 0; space < (5-1-line); space++) {
                System.out.print(" ");
            }
            
            
            System.out.println();
        }

    }

}

依据题意可以用for外层循环保证输出的行数,用前两个for内循环来保证每行打印的图像为一个大的直角三角形,然后用后两个for循环来打印一个对称的小的直角三角形拼接上去,如果不确定运行轨迹,可以用debug来进行测试。

猜你喜欢

转载自www.cnblogs.com/summerdata/p/10719845.html