实验四---杨辉三角

实验目的:用一维数组实现杨辉三角的输出

结果如下:

 

用#代替空格输出更直观些

代码如下:

 1 package yhui;
 2 import java.util.*;
 3 public class yh {
 4     public static void main(String[] args) {
 5         // TODO Auto-generated method stub
 6
 7         Scanner in=new Scanner(System.in);
 8         System.out.print("规定要输出的层数:	");
 9         int n=in.nextInt();
10 
11         yhui(5);
12         
13     }
14     static void yhui(int n) {
15         System.out.println("	输出"+n+"层的等腰杨辉三角	");
16         int [] a=new int [n]; //定义数组a[n]
17         for (int i=0;i<=n-1;i++)   //按层数循环,i为层数
18         {
19             a[i]=1; //赋值
20             for (int j=i-1;j>=1;j--)   
21                 //从第2行层始,从第i-1个元素开始计算,直到第j个元素,计算各元素的值,j为列
22                 a[j]=a[j]+a[j-1];   
23             //元素的值是上一行本位置元素左右值的和
24             for(int k=1;k<=n-i;k++)    //打印空格,间隔
25                 System.out.print("#5");
26             for (int j=0;j<=i;j++)
27             {    //输出本层
28                 System.out.print("#");
29                 System.out.print(a[j]);
30                }
31         System.out.println();
32          }
33     }
34 }

心得:用一位数组进行杨辉三角的输出,不仅要考虑三角形的对应,符合等腰三角形的形状,空格与数字的输出;

思路:

1.可以用两个一维数组,一个用来打印当前的层数;一个用来存储上一层的数字,通过计算得到下一层的数字

2.通过递归算法,用一维数组对杨辉三角的值进行存储

3.可以通过本实验,每循环一层就计算本层的各元素值,并输出

Java的变量只在定义的范围内有效,除此之外均无效,会提示该变量未定义!!!

至此,完成!

@勤奋的lu3
原文地址:https://www.cnblogs.com/lul3/p/10632016.html