实验目的:用一维数组实现杨辉三角的输出
结果如下:
用#代替空格输出更直观些
代码如下:
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("规定要输出的层数:\t"); 9 int n=in.nextint(); 10 11 yhui(5); 12 13 } 14 static void yhui(int n) { 15 system.out.println("\t输出"+n+"层的等腰杨辉三角\t"); 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的变量只在定义的范围内有效,除此之外均无效,会提示该变量未定义!!!
至此,完成!
如对本文有疑问, 点击进行留言回复!!
springcloud中feign调用处理mybatis-plus Ipage反序列化问题。
Flume 史上最全面的大数据学习第十篇(一) 别再说不知道flume是什么了
网友评论