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

题目要求如下图:

用*号打印正等腰三角形和倒等腰三角形_第1张图片
用*号打印正等腰三角形和倒等腰三角形_第2张图片
倒等腰三角型输出:


    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来进行测试。

你可能感兴趣的:(Java练习题)