1 import java.util.Scanner;
  2
  3 /**
  4  * YangHui_tst01
  5  * @author HmLy
  6  * @version 000
  7  * - - - - - - -
  8  * 练习代码。(注释比较多)
  9  * 主方法用于实现功能:
 10  * 请求输入指定杨辉三角形大小(自然不能是1)
 11  * 然后打印该三角形。
 12  *
 13  * 上下分割线可动态变动 ---- 这上面,合适的长度其实只是试出来的 ....
 14  * - - - - - - -
 15  *
 16  * 另,小发现:
 17  * import放在文档注释下头,vsc就不支持识别它里头的"@"了。。。。。
 18  */
 19 //
 20
 21 public class YangHui_tst01 {
 22     public static void main(String[] args) {
 23         System.out.println(">>=== === program_ONN=== === >>\n");
 24         /**
 25          * 杨辉三角形
 26          */
 27         Scanner scn = new Scanner(System.in);
 28
 29         System.out.print("# 请输入指定的杨辉三角的层数 :  | ");
 30         int yangHui_largeGet = scn.nextInt();
 31
 32         int[][] x_YHui3JX = new int[yangHui_largeGet][];//遍历就"< yangHui_largeGet"就行。。
 33
 34         System.out.print("# ");
 35         System.out.println("指定的层数 :                  | "+ yangHui_largeGet);
 36         //System.out.println("# ---- --- --- ---- --- --- ---- -" + " ---- --- --- ---- --- --- ---- -");
 37
 38
 39
 40
 41
 42         //<动态分割线尝试>
 43         System.out.print("# ---- --- --- ---- --- -");
 44         for (int strxs = 1; strxs < yangHui_largeGet; strxs++) {
 45             System.out.print("- ---- -- - ---- -");
 46         }//for_strxssssssss
 47         System.out.print("\n");
 48         //</动态分割线尝试>
 49
 50
 51
 52
 53         //下面应该不需要请求用户输入了?
 54         //造杨辉
 55
 56
 57         //如果large不完全指定,那是不是后面还要用new来腾出空间来?。。。
 58
 59         for (int i = 0; i < yangHui_largeGet; i++) {
 60             x_YHui3JX[i] = new int[i + 1];
 61         }//new 阶梯
 62
 63
 64
 65
 66
 67
 68
 69         //x_YHui3JX[1][1] = 1;
 70
 71         //x_YHui3JX[0][0] = 1;//[0][0]是1 。。。
 72
 73         for (int i = 0; i < 2; i++) {
 74             for (int jj = 0; jj <= i; jj++) {//上面没指定单独
 75                 x_YHui3JX[i][jj] = 1;
 76             }
 77         }//遍历输入三角头。
 78
 79
 80
 81
 82         //for (int i = 2; i <= yangHui_largeGet; i++) {//从 1 开始...?... // no! from 2! ....
 83         //    for (int jj = 1; jj <= i; jj++) {//这边 jj 的最大 同步于 i 。。。//这个就别从 2 开始了。。
 84         /* ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
 85          * 不对,一行一列的话是[0][0]。。。
 86          * 上面注释掉。
 87          */
 88         //
 89
 90
 91         //for (int i = 1; i <= yangHui_largeGet; i++) {//[i=0]不必遍历;从[i=1]开始。
 92         //    for (int jj = 0; jj <= i; jj++) {//这边 jj 的最大 同步于 i 。。。//这个就别从 2 开始了。。
 93         /* ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
 94          * 上面也不对,三角头不只一个数。
 95          * 看公式,三角头是有第二行的。
 96          */
 97         //
 98
 99
100         //遍历表左壁!
101         for (int i = 2; i < yangHui_largeGet; i++) {
102             x_YHui3JX[i][0] = 1;
103         }//for left KABE
104
105
106
107
108
109
110         for (int i = 2; i < yangHui_largeGet; i++) {//[i=0]根据,不必遍历;从[i=1]开始。
111             x_YHui3JX[i][i] = 1;//遍历右壁(那么下面jj就是<i而不是<=i了。)
112             for (int jj = 1; jj < i; jj++) {//jj不能从 0 开始,否则,下标会出现[-1]。。。。 --> 所以,还要遍历的不仅仅三角头。
113                                              //(其实,可以设定别处皆 0 。 但不那样,省硬件资源。)
114                 x_YHui3JX[i][jj] = x_YHui3JX[i - 1][jj - 1] + x_YHui3JX[i - 1][jj];
115             }//forjj
116
117             //输入到数组,就不用换行了。。。
118         }//fori
119
120         //上面应该搞~~输出~~造表算是搞完了;
121
122         //--------------------------------------
123
124         //下面搞输出。
125         System.out.println("# ");
126         for (int i = 0; i < yangHui_largeGet; i++) {
127             System.out.print("#  \t"); //不换行。
128             for (int bloki = 0; bloki < yangHui_largeGet - i; bloki++) {
129                 System.out.print("\t");
130             }//for_bloki
131             for (int jj = 0; jj <= i; jj++) {  //这里jj遍历就到i别忘了,再往外的连初始化都不算了。。。。(不过,先说好,没试。。。完了下面多来个遍历,试试。。)
132                 System.out.print(""+ x_YHui3JX[i][jj] +"\t\t" );
133             }//forjj
134             System.out.println();
135         }//fori
136
137
138
139
140
141         //<动态分割线尝试>
142         System.out.print("# ---- --- --- ---- --- -");
143         for (int strxs = 1; strxs < yangHui_largeGet; strxs++) {
144             System.out.print("- ---- -- - ---- -");
145         }//for_strxssssssss
146         System.out.print("\n");
147         //</动态分割线尝试>
148
149         //System.out.println("# ---- -"+"-- --- -"+"--- --- "+"--- ----"+" -" + " ---- "+"--- --- "+"---- ---"+" --- ---"+"- -");
150
151         System.out.println("\n>> === ===program_OFF === ===>>");
152     }//main
153 }//pubclass

输出三角形的上下分割线可动态变化。。。

转载于:https://www.cnblogs.com/senwren/p/YangHui_tst01.html

【练习】Java实现的杨辉三角形控制台输出相关推荐

  1. java金字塔显示_java控制台输出数字金字塔示例分享

    /*Java *Author: NealFeng at oschina.net *License: GPLv2+ *Time: 2014/1/17 * *在控制台输出数字金字塔: *          ...

  2. Java多线程Socket在控制台输出的多人聊天室编程

    服务器端代码 1 import java.io.IOException; 2 import java.net.ServerSocket; 3 import java.net.Socket; 4 imp ...

  3. Java使用Junit测试控制台输出

    环境:Junit4.12 //定义打印输出流(PrintStream console).输出字节流数组 bytesPrintStream console = null;ByteArrayOutputS ...

  4. Java员工管理系统(控制台输出)

    今天上午看完阅兵,爽,解放军太帅了!虽然现在是个小鲜肉横行的时代,但国家危亡的关键时刻还是得靠军人和社会的中流砥柱. 还有在网上看到"叠被子.走方队能把敌人叠死.走死吗",&quo ...

  5. java获取系统运行日志文件_java – 如何获取特定的日志文件并在jenkins控制台输出中显示其内容...

    我有以下Jenkins post-build shell脚本: ssh user@my_server < service my_service stop service my_service s ...

  6. 【Java文件操作(八)】将控制台输出重定向到txt文件

    我的博客--Java文件操作系列 [Java文件操作(一)]递归打印文件目录 [Java文件操作(二)]删除文件夹,但保留其内部文件 [Java文件操作(三)]递归复制文件夹内所有文件 [Java文件 ...

  7. java怎么输出点,Java实现控制台输出两点间距离

    计算两点之间的距离然后在控制台输出,这个题目还是挺简单的.下面我们来看看具体代码. package com.swift; import java.util.Scanner; public class ...

  8. java定义一个方法,向控制台输出一个整数的阶乘

    java定义一个方法,向控制台输出一个整数的阶乘 /*** 定义一个方法,向控制台输出一个整数的阶乘*/ public class Test19 {//输出阶乘的方法public static voi ...

  9. java定义一个方法,向控制台输出99乘法表

    java定义一个方法,向控制台输出99乘法表 /*** 定义一个方法* 向控制台输出99乘法表*/ public class Test18 {public static void main(Strin ...

  10. java控制台输出等腰三角形,并且是倒序正序输出【原创】

    文章结尾有彩蛋 java控制台输出等腰三角形,并且是倒序正序输出[原创] import java.util.Scanner;public class Sjx {public static void m ...

最新文章

  1. 高德地图多边形覆盖物添加、获取、删除
  2. IOC注解注入View
  3. Windows下使用Git配置SSH免密登录
  4. 互联网之父确诊新冠,一代传奇:任谷歌副总裁、NASA 访问科学家
  5. Bash Shell 的一些语法
  6. 机器学习基础算法26-聚类理论
  7. 设计师配色宝典!教你从零开始学配色(一)
  8. 希捷硬盘固件指令要领
  9. Pascal基础教程
  10. 菜鸟入门Docker
  11. windows10桌面计算机图标删除吗,win10系统桌面图标无法删除的解决方案
  12. 实验|三层交换机配置实例
  13. 手机1520 win8.1升级win10
  14. 你知道两台Linux之间如何传输文件吗?
  15. 组合投资的风险与收益概述
  16. WORD里,如何在同一个文档中为不同页面,设置不同的页眉和页脚
  17. MySQL学习(十五):数据类型之数值型
  18. github+hexo搭建自己的博客【真正的从0到1】20180122为准
  19. gk888t打印机安装
  20. 各行各业1000个小程序源码

热门文章

  1. pandas 字符串切片后保存_Pandas时间序列基础详解(转换,索引,切片)
  2. III.Data Modeling and Aggregation(数据模型和整合)
  3. Java网络编程介绍
  4. pku 2348 Euclid's Game
  5. 题解 P2163 SHOI2007 园丁的烦恼
  6. 爬取糗事百科1到5页的图片并下载到本地
  7. [UE4]图片按钮设置技巧
  8. OSPF建立邻居、邻接关系 学习笔记
  9. SQL SERVER2017 安装程序无法与下载服务器联系。无法安装机器学习服务的问题解决方式...
  10. 算法复习——带修改莫队(bzoj2453)