用JAVA实现杨辉三角实例

 更新时间:2022年01月12日 14:38:02   作者:是小徐了  
大家好,本篇文章主要讲的是用JAVA实现杨辉三角实例,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下

        这是我的第一篇文章,我的想法是把自己再学习的路上遇到的困难都给记录下来,一来是方便以后的自我复习,二来就是大家资源共享,帮助和我一样遇到困难的小伙伴们。

        这是我遇到的第一个难题。

        题目是:

        杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。

        输入包含一个数n。(1 <= n <= 34)

       输出格式:n=5:数和数之间有空格

                                        ​​​​​​​        ​​​​​​​

         首先我们应该想着如何打印一个边长=n等边直角三角形,这里我们可以运用 嵌套循环 就可以轻松做到:

 
import java.util.Scanner;
 
public class Tast01 {
public static void main(String[] args) {
	Scanner arr=new Scanner(System .in );
	int n=arr.nextInt();
	for (int i = 0; i < n; i++) {		//行
		for (int j = 0; j <= i; j++) {	//列
			if(j==0) {
				System.out.print(0);		
			}else {
				System.out.print(" "+0);
			}
		}
		System.out.println();			//换行
	}
}
}

运行结果如下:

         现在我们就想着如何将0分别改为对应的数字即可,这里我们应用到  二维数组(int [][]sc=new int[列][行];)  既可以知道每个数对应的位置,也可以让每个数之间存在了联系。

首先定义长度:这里大家要明白长度的定义为:每个数都有家可寻。

         下图可以清晰地解释:下一行的数等于“肩上”两数之和。

        具体实现代码如下 :

 
import java.util.Scanner;
 
public class Tast02 {
	public static void main(String[] args) {
		Scanner arr = new Scanner(System.in);
		int n = arr.nextInt();								   //键盘输入n
		int[][] sc = new int[n][n];
		for (int i = 0; i < sc.length; i++) {
			for (int j = 0; j <= i; j++) {
				if (j == 0 || j == i) { 					   // 第一列全为1
					sc[i][j] = 1;
				} else {
					sc[i][j] = sc[i - 1][j - 1] + sc[i - 1][j];//下一行的数等于“肩上”两数之和。
				}
			}
		}
		for (int i = 0; i < n; i++) {                          // 行
			for (int j = 0; j <= i; j++) {					   // 列
				if (j == 0) {
					System.out.print(sc[i][j]);
				} else {
					System.out.print(" " + sc[i][j]);
				}
			}
			System.out.println(); 								// 换行
		}
 
	}
}

这题到这也就结束了,后续还会继续更新我在学习中遇到的的较为困难的题目和大家分享,大家要是喜欢的话可以点个关注,防丢失。大家也可以私信我自己在学习中遇到的难题,大家共同学习,共同进步。

到此这篇关于用JAVA实现杨辉三角实例的文章就介绍到这了,更多相关JAVA杨辉三角内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java中Synchronized的用法解析

    Java中Synchronized的用法解析

    synchronized是Java中的关键字,是一种同步锁,本文给大家详细介绍Java Synchronized 用法大全,感兴趣的朋友跟随小编一起看看吧
    2021-11-11
  • Java使用Ajax实现跨域上传图片功能

    Java使用Ajax实现跨域上传图片功能

    这篇文章主要介绍了Java使用Ajax实现跨域上传图片功能,需要的朋友可以参考下
    2017-09-09
  • Java贪吃蛇游戏完善版

    Java贪吃蛇游戏完善版

    这篇文章主要为大家详细介绍了Java贪吃蛇游戏完善版,支持菜单操作,键盘监听,可加速,减速,统计得分等功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • 详解commons-pool2池化技术

    详解commons-pool2池化技术

    本文主要是分析commons-pool2池化技术的实现方案,希望通过本文能让读者对commons-pool2的实现原理一个更全面的了解
    2021-06-06
  • Java SPI简单应用案例详解

    Java SPI简单应用案例详解

    这篇文章主要介绍了Java SPI简单应用案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • 基于Java实现收发电子邮件功能

    基于Java实现收发电子邮件功能

    Email就是电子邮件,我们平常使用的QQ邮箱,网易邮箱,Foxmail都是用来收发邮件的,利用Java程序也可以完成收发电子邮件的功能,本文就来为大家详细讲讲实现步骤
    2022-07-07
  • mybatis foreach批量插入数据:Oracle与MySQL区别介绍

    mybatis foreach批量插入数据:Oracle与MySQL区别介绍

    这篇文章主要介绍了,需要的朋友可以参考下
    2018-01-01
  • SpringBoot集成slf4j+log4j2的示例代码

    SpringBoot集成slf4j+log4j2的示例代码

    这篇文章主要介绍了SpringBoot集成slf4j+log4j2的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • java中实现分页的几种常见方式总结

    java中实现分页的几种常见方式总结

    在项目中经常会查询大量数据,这就要用到分页展示,下面这篇文章主要给大家介绍了关于java中实现分页的几种常见方式,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • springboot如何通过@PropertySource加载自定义yml文件

    springboot如何通过@PropertySource加载自定义yml文件

    这篇文章主要介绍了springboot如何通过@PropertySource加载自定义yml文件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03

最新评论