Java打印三角形

package classicExecise;

/**
 * @author Ahan
 * @version 1.0
 * @Date 2021/11/18
 * @description 打印三角形
 **/
public class PrintTriangle {
    public static void main(String[] args) {
        // triangle4();
    }

    /**
     * 直角三角形
     */
    public static void triangle1() {
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j < i; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }

    /**
     * 倒三角形
     */
    public static void triangle2() {
        for (int i = 0; i <= 5; i++) {
            for (int j = 5; j >= i; j--) {
                System.out.print("* ");
            }
            System.out.println();
        }
    }

    /**
     * 13579三角形
     */
    public static void triangle3() {
        for (int i = 1; i <= 5; i++) {
            for (int j = 1; j < 5 - i; j++) {
                System.out.print("");
            }
            for (int k = 1; k <= (2 * i) - 1; k++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }

    /**
     * 等腰三角形
     */
    public static void triangle4() {
        for (int i = 1; i <= 5; i++) {
            for (int j = 5-i; j >0; j--) {
                System.out.print(" ");
            }
            for (int j =1;j<=i;j++){
                System.out.print("* ");
            }
            System.out.println();
        }
    }
}

### Java 实现打印三角形功能 以下是通过Java实现打印不同类型的三角形的代码示例: #### 1. 等腰三角形 以下代码可以用来打印一个等腰三角形,其中`n`代表三角形的高度。 ```java public class IsoscelesTriangle { public static void main(String[] args) { int n = 5; // 定义三角形高度 for (int i = 1; i <= n; i++) { for (int j = 1; j <= n - i; j++) { System.out.print(" "); } for (int k = 1; k <= 2 * i - 1; k++) { System.out.print("*"); } System.out.println(); } } } ``` 上述代码利用两层嵌套循环完成打印操作。外层循环控制行数,内层第一个循环负责打印空格以形成对齐效果,第二个循环则打印星号构成三角形主体[^1]。 --- #### 2. 右对齐直角三角形 如果需要打印右对齐的直角三角形,则可以通过调整空格数量来实现。 ```java public class RightAlignedRightAngleTriangle { public static void main(String[] args) { int n = 5; for (int i = 1; i <= n; i++) { for (int j = 1; j <= n - i; j++) { System.out.print(" "); } for (int k = 1; k <= i; k++) { System.out.print("* "); } System.out.println(); } } } ``` 此代码同样采用双层循环结构,不过第二层循环中的条件改为`k <= i`以便于生成右侧对齐的效果[^3]。 --- #### 3. 左对齐直角三角形 左对齐的直角三角形是最简单的一种形式,只需逐行增加星号即可。 ```java public class LeftAlignedRightAngleTriangle { public static void main(String[] args) { int n = 5; for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) { System.out.print("* "); } System.out.println(); } } } ``` 这里仅需一层内部循环来处理每行的星号数目,无需额外考虑空格填充问题。 --- #### 4. 倒置等腰三角形 要创建倒置版本的等腰三角形,可修改原有逻辑使其从顶部向下逐渐减少宽度。 ```java public class InvertedIsoscelesTriangle { public static void main(String[] args) { int n = 5; for (int i = n; i >= 1; i--) { for (int j = 1; j <= n - i; j++) { System.out.print(" "); } for (int k = 1; k <= 2 * i - 1; k++) { System.out.print("*"); } System.out.println(); } } } ``` 这段程序与正向等腰三角形类似,只是改变了外层循环的方向为递减模式。 --- #### 5. 帕斯卡三角形 对于更复杂的图形如帕斯卡三角形,其构建基于组合数学原理。 ```java import java.util.ArrayList; public class PascalTriangle { public static void main(String[] args) { int rows = 5; ArrayList<ArrayList<Integer>> triangle = new ArrayList<>(); for(int line = 0 ; line < rows ; line++){ ArrayList<Integer> row = new ArrayList<>(); for(int element = 0 ; element <=line;element++ ){ if(element==0 ||element ==line){ row.add(1); }else{ row.add(triangle.get(line-1).get(element-1)+triangle.get(line-1).get(element)); } } triangle.add(row); } // Print the pascal's triangle for(ArrayList<Integer> r : triangle){ for(Integer num:r){ System.out.print(num+" "); } System.out.println(); } } } ``` 该算法首先建立二维列表存储各层数据,再依据前一行计算当前行数值并最终输出整个形状[^2]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值