从键盘输入一个正整数n,请按照以下五行杨辉三角形式显示

本文介绍了一种使用Java编程语言实现杨辉三角形的方法。通过读取用户输入的正整数n,程序将生成并展示一个由n行组成的杨辉三角形。此算法采用二维数组来存储杨辉三角的数值,并遵循杨辉三角的计算规则进行初始化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从键盘输入一个正整数n,请按照以下五行杨辉三角形式显示 

package arraytest;

import java.util.Scanner;

public class YangHuiSanJiao {
	
	public static void main(String args[]) {
		
		System.out.println("请输入你的n :");
		Scanner scan = new Scanner(System.in);
		int num = scan.nextInt();
		System.out.println("打印输出:"+num);
		
		   //申请二维数组存放杨辉三角数值  
		   int[][] yangHui = new int [num][];
		   for(int i = 0; i < yangHui.length; i ++)
			   yangHui[i] = new int[i + 1];
		  
		   //利用杨辉三角的计算公式,初始化数组
		   for(int i = 0; i < yangHui.length; i ++)
			   
		    for(int j = 0; j < yangHui[i].length; j ++) {
		    
		    	//每一行第一个数和最后一个数都为1 
		      yangHui[i][0] = yangHui[i][i] = 1;
		        if(i > 1 && j > 0 && j < i)
		       //杨辉三角的值等于其上一层两个值之和 
		      yangHui[i][j] = yangHui[i - 1][j] + yangHui[i -1][j -1];
		    }
		   
		     //遍历数组,以输出  
		   for(int i = 0; i < yangHui.length; i ++){
//		      for(int j = 0; j < (num - i - 1) / 2; j ++)
//		        System.out.print("\t");
		      
		      for(int j = 0; j < yangHui[i].length; j ++)
		        System.out.print(yangHui[i][j] + "\t");
		        
		      System.out.println();
		     }
		    }
	}


创造价值,乐在分享。

欢迎加入我的Java与Android逆向开发交流QQ群,提问学习。

### 打印杨辉三角形的Java实现 以下是基于用户需求编写的 Java 程序,用于根据输入正整数 \( n \) (\( 2 \leq n \leq 10 \)),打印出杨辉三角的前 \( n \) 行。此程序采用了二维数组存储数据,并按照给定格式输出。 #### 实现代码 ```java import java.util.Scanner; public class YangHuiTriangle { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("输入一个正整数n (2<=n<=10): "); int n = scanner.nextInt(); // 初始化二维数组 int[][] triangle = new int[n][]; for (int i = 0; i < n; i++) { triangle[i] = new int[i + 1]; // 设置当前行的列数 for (int j = 0; j <= i; j++) { if (j == 0 || j == i) { // 边界条件 triangle[i][j] = 1; } else { triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j]; // 中间值计算 } // 输出当前元素 System.out.print(triangle[i][j] + " "); } System.out.println(); // 换行处理 } scanner.close(); } } ``` #### 解析 上述代码实现了以下功能: - 使用 `Scanner` 类获取用户的输入并验证其范围[^1]。 - 创建了一个动态大小的二维数组 `triangle`,其中每一行的长度与其索引一致[^3]。 - 遍历填充该数组时,利用边界条件(首尾均为 1)以及核心公式(当前值为其左上角和右上角之和)完成数值计算[^4]。 - 每次循环结束时通过换行符调整输出布局,确保符合题目要求的格式[^2]。 #### 示例运行 假设用户输入为 4,则程序会依次执行以下操作: 1. 构造第 1 行 `[1]` 2. 构造第 2 行 `[1, 1]` 3. 构造第 3 行 `[1, 2, 1]` 4. 构造第 4 行 `[1, 3, 3, 1]` 最终输出结果如下所示: ``` 1 1 1 1 2 1 1 3 3 1 ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值