java編程实现打印杨辉三角的头10行

1.运行效果图

2.代码

import java.util.Scanner;

public class Demo1 {
	public static void main(String[] args) {
		System.out.print("请输入层数:");
		Scanner sc = new Scanner(System.in);
		int layer;
		while((layer = sc.nextInt()) !=0) {
			int a[][] = new int[layer][layer];
			//让每一行的第一个数字为1
			for (int i = 0; i < layer; i++) {
				a[i][0] = 1;
			}
			//将第一行的其它数字变为0
			for (int i = 0; i < layer - 1; i++) {
				a[0][i + 1] = 0;
			}
			//计算除第一个数字外的其他的数字
			for (int i = 1; i < layer; i++) {
				for (int j = 1; j <= i; j++) {
					a[i][j] = a[i - 1][j] + a[i - 1][j - 1];
				}
			}
			//打印图样
			for (int i = 0; i < layer; i++) {
				for (int j = 0; j <= i; j++) {
					System.out.print(" " + a[i][j]);
				}
				System.out.println();
			}
			System.out.println();
		}
	}
}

3.设计思路

首先要初步理解杨辉三角是什么?

杨辉三角就是每一行的第一个数字都是1,而其它的数字则由其对应的上一行的数字加上这个数字(上一行)的左边的数组得到的。

将杨辉三角放在二维数组里面,先让每一行的第一个数字设置为0,并让第一行的其它数字初始化为0,然后计算其他位置的数字,最后按图样打印所需的杨辉三角。

发布了28 篇原创文章 · 获赞 5 · 访问量 5792

猜你喜欢

转载自blog.csdn.net/weixin_41879980/article/details/96561772