//
//输入指定的行数,打印杨辉三角
//
//每个数等于它上方两数之和。
//每行数字左右对称,由1开始逐渐变大。
//第n行的数字有n项。
//
//
//
//可从打印菱形的思想出发:????? // 存在问题: 随着行数的增加,数字增大,占用空间增大,慢慢变得不“对称”。
package com.day16;
import java.util.Scanner;
public class testYangHuiSanJiao{
public static Scanner Sc =new Scanner(System.in); //初始化行数组,是每一行数组第一元素为1;
public static int[][] inital(int [][] ary){ for( int i=0;i<=ary.length-1;++i){ ary [i] = new int [i+1]; //每行元素个数本等于行数i,
//但注意到 数组是从 0 开始的,故行数组初始化为[i+1]的大小
ary[i][0]=1;//首元素初始化为1;
ary[i][i]=1; //末元素初始化为1;
} int row,colum;
for(row = 2;row <= ary.length-1;row++){ //前两行初始化已完成,从第三行开始
for(colum = 1;colum < row;colum++){ //每一行数组第一个元素(下标为0)已初始化为1,
//从第二个元素(下标为1)开始
//末元素已初始化为1,故column < row ; ary[row][colum]=ary[row-1][colum-1]+ary[row-1][colum]; }
} // //Check row ary[][]
//
// for(int i = 0; i<=ary.length-1;i++){
// for(int j = 0; j<=i;j++){ //初始化大小决定 j<=i
// System.out.print(ary[i][j]+" ");
// }
// System.out.println();
//
// }
// //测试通过,初始化正确; return ary; } public static void prtyhsj (int [][] ary){ int cbkn= ary.length-0 ;
for(int row = 0;row <= ary.length-1;row++){
//每行首先打印相应的空格;
for(int i = cbkn ; i > 0;i--){
System.out.print(" ");
}
//在打印相应行数组的元素+空格;
for(int col = 0;col <= row; col++){
System.out.print(ary[row][col]);
System.out.print(" ");
}
//打印后续对称连续空格
for(int i = cbkn;i > 0;i--){
System.out.print(" ");
}
cbkn--; System.out.println();//一行打印结束执行换行
} }
public static void main (String [] args){
System.out.println("Please input row:");
int rownum = Sc.nextInt();
System.out.println("Printing "+rownum+" row YHSJ"); //定义二维数组,第一维为行数组,并初始化
int [][] rowary = new int [rownum][] ; inital(rowary);
prtyhsj(rowary); }
}

杨辉三角的打印(Java)的更多相关文章

  1. 使用Python实现的杨辉三角

    def triangel(): print ' '*(20*3)+str(1) #定义起始两行 print ' '*(19*3)+str(1)+' '*5+str(1) for i in range( ...

  2. 使用Java打印杨辉三角

    package 杨辉三角; import java.util.Scanner; public class 三角 { private static Scanner scn; public static ...

  3. [Java练习题] -- 1. 使用java打印杨辉三角

    package cn.fzm.demo1.array; import java.util.Scanner; /* * 需求:打印杨辉三角形(行数可以键盘录入) 1 1 1 1 2 1 1 3 3 1 ...

  4. java代码打印打印杨辉三角

    郑州大学 徐峰 public class Print { void print(){ int[][] a=new int[6][6]; for(int i=0;i<a.length;i++){ ...

  5. Java的二维数组的应用及杨辉三角的编写

    (1) 编写一个程序,生成一个10*10的二维随机整数数组,并将该数组的每行最大值保存于一个一维数组中,将每列平均值保存于另外一个一维数组中并分别输出. (2) 编程输出杨辉三角的前10行. 找出一个 ...

  6. Java数组的应用:案例:杨辉三角,三维数组,字符串数组

    //import java.util.Arrays; //包含Arrays //import java.util.Random; public class HelloWorld { public st ...

  7. Java实现杨辉三角

    杨辉三角用了两种方法解决 二维数组/递归方法 +—————————————————————————— import java.util.Scanner; public class YangHui02 ...

  8. Java之杨辉三角的实现

    今天突然想温习一下Java的基础,想了想就写写杨辉三角吧 1.直接法,利用二维数组 import java.util.Scanner; public class Second { public sta ...

  9. 1233: 输出杨辉三角前n行(Java)

    WUSTOJ 1233: 输出杨辉三角前n行 题目 原题链接 Description 输出杨辉三角前n行. Input 输入一个数n(n <= 9) Output 输出杨辉三角前n行.(注意行末 ...

随机推荐

  1. POJ 3608 旋转卡壳

    思路: 旋转卡壳应用 注意点&边  边&边  点&点 三种情况 //By SiriusRen #include <cmath> #include <cstdi ...

  2. 题解报告:poj 1321 棋盘问题(dfs)

    Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子 ...

  3. HTML基础2——综合案例2——复杂的嵌套列表

    <html> <head> <title></title> </head> <body> <ul type="d ...

  4. Linux系统下强制踢掉登录用户

    1,利用who命令,找出用户登录的终端代号 who root     pts/0        2017-03-14 22:30 (223.1.1.1) root     pts/1        2 ...

  5. apache-storm-0.9.6.tar.gz的集群搭建(3节点)(图文详解)

    不多说,直接上干货! Storm的版本选取 我这里,是选用apache-storm-0.9.6.tar.gz Storm的本地模式安装 本地模式在一个进程里面模拟一个storm集群的所有功能, 这对开 ...

  6. [ USACO 2007 FEB ] Lilypad Pond (Gold)

    \(\\\) \(Description\) 一张\(N\times M\)的网格,已知起点和终点,其中有一些地方是落脚点,有一些地方是空地,还有一些地方是坏点. 现在要从起点到终点,每次移动走日字\ ...

  7. PHP开发心得三

    1, JSON在调用json_decode前要检查其中是否含有反斜杠“\”等特殊字符 比如下面这段代码,返回的就是空值,非常坑爹吧. $res = {"Ret":"1&q ...

  8. Spring+Spring MVC+Hibernate增查(使用注解)

    使用Spring+Spring MVC+Hibernate做增删改查开发效率真的很高.使用Hibernate简化了JDBC连接数据库的的重复性代码.下面根据自己做的一个简单的增加和查询,把一些难点分析 ...

  9. DWARF调试格式的简介

    DWARF调试格式的简介 Michael J. Eager, Eager Consulting Feb, 2007 翻译:吴晖 2012年2月 如果我们可以编写确保能正确工作且永远不需要调试的程序,这 ...

  10. OpenGL坐标系之间的转换 http://blog.csdn.net/sac761/article/details/52179585

    1. OpenGL 渲染管线 OpenGL渲染管线分为两大部分,模型观测变换(ModelView Transformation)和投影变换(Projection Transformation).做个比 ...