Tips
打印三角的操作 :
- 每行打印前预留空格
- 打印指定数量的星号后换行
- 重复循环打印直至完成所有打印结果
杨辉三角:
- 三角规律空格最大对称值为 5 大于 5 则会变形
- 三角规律为当前值为上一个值加上前一个值 首尾的数字值相等
- 参考二维数组的规律生成数值
import java.util.Scanner;
/**
* Created Wenyu.
*
* @author caicaiwoshishei>...
* @createTime 2022-11-07 19:06
* @Describe [打印杨辉三角]
* 1 通过二维数组存储值
* 1 1
* 1 2 1
* 1 3 3 1
* 1 4 6 4 1
* 1 5 10 10 5 1
* 理想打印效果 基础里边界1space
* 1 7space 6
* 1 1 6space 5
* 1 2 1 5space 4
* 1 3 3 1 4space 3
* 1 4 6 4 1 3space 2
* 1 5 10 10 5 1 2space 1
* @since 1.0
*/
public class PascalTriangles {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入需要打印的行数:");
int inputNumberVal = 0;
try {
inputNumberVal = scanner.nextInt();
} catch (NullPointerException e) {
e.printStackTrace();
}
printTriangle(inputNumberVal);
}
public static void printTriangle(int endNumberVal){
/**
* 打印三角的操作 :
* 1) 每行打印前预留空格
* 2) 打印指定数量的星号后换行
* 3) 重复循环打印直至完成所有打印结果
*
* 杨辉三角:
* 1) 三角规律空格最大对称值为 5 大于 5 则会变形
* 2) 三角规律为当前值为上一个值加上前一个值 首尾的数字值相等
* 3) 参考二维数组的规律生成数值
*/
Integer [][] triangleArrList = new Integer[endNumberVal][endNumberVal];
for (int begin_num = 0; begin_num < endNumberVal; begin_num ++){
//通过二维数组生成每一行的数值
for (int save_index = 0; save_index <= begin_num; save_index ++){
if (save_index != begin_num && save_index != 0 && begin_num > 0 && save_index > 0){
triangleArrList[begin_num][save_index] = triangleArrList[begin_num - 1][save_index] + triangleArrList[begin_num - 1][save_index - 1];
}else {
triangleArrList[begin_num][save_index] = 1;
}
}
//打印输入当前行数的二维数组的内容
for (int print_index = endNumberVal-1; print_index >= 0;print_index --){
if (triangleArrList[begin_num][print_index] != null && triangleArrList[begin_num][print_index] != 0){
System.out.print(triangleArrList[begin_num][print_index]+" ");
}else {
System.out.print(" ");
}
}
//换行
System.out.println();
}
System.out.println("二维数组存储数值情况如下:");
for (Integer[] integers : triangleArrList) {
for (Integer integer : integers) {
System.out.print(integer+ " ");
}
System.out.println();
}
}
}

本文介绍了一种使用Java实现杨辉三角打印的方法,并详细解释了如何通过二维数组存储杨辉三角的数值,同时展示了完整的代码示例。

6403

被折叠的 条评论
为什么被折叠?



