import java.util.Scanner;

 /**
* YangHui_tst01
* @author HmLy
* @version 000
* - - - - - - -
* 练习代码。(注释比较多)
* 主方法用于实现功能:
* 请求输入指定杨辉三角形大小(自然不能是1)
* 然后打印该三角形。
*
* 上下分割线可动态变动 ---- 这上面,合适的长度其实只是试出来的 ....
* - - - - - - -
*
* 另,小发现:
* import放在文档注释下头,vsc就不支持识别它里头的"@"了。。。。。
*/
// public class YangHui_tst01 {
public static void main(String[] args) {
System.out.println(">>=== === program_ONN=== === >>\n");
/**
* 杨辉三角形
*/
Scanner scn = new Scanner(System.in); System.out.print("# 请输入指定的杨辉三角的层数 : | ");
int yangHui_largeGet = scn.nextInt(); int[][] x_YHui3JX = new int[yangHui_largeGet][];//遍历就"< yangHui_largeGet"就行。。 System.out.print("# ");
System.out.println("指定的层数 : | "+ yangHui_largeGet);
//System.out.println("# ---- --- --- ---- --- --- ---- -" + " ---- --- --- ---- --- --- ---- -"); //<动态分割线尝试>
System.out.print("# ---- --- --- ---- --- -");
for (int strxs = 1; strxs < yangHui_largeGet; strxs++) {
System.out.print("- ---- -- - ---- -");
}//for_strxssssssss
System.out.print("\n");
//</动态分割线尝试> //下面应该不需要请求用户输入了?
//造杨辉 //如果large不完全指定,那是不是后面还要用new来腾出空间来?。。。 for (int i = 0; i < yangHui_largeGet; i++) {
x_YHui3JX[i] = new int[i + 1];
}//new 阶梯 //x_YHui3JX[1][1] = 1; //x_YHui3JX[0][0] = 1;//[0][0]是1 。。。 for (int i = 0; i < 2; i++) {
for (int jj = 0; jj <= i; jj++) {//上面没指定单独
x_YHui3JX[i][jj] = 1;
}
}//遍历输入三角头。 //for (int i = 2; i <= yangHui_largeGet; i++) {//从 1 开始...?... // no! from 2! ....
// for (int jj = 1; jj <= i; jj++) {//这边 jj 的最大 同步于 i 。。。//这个就别从 2 开始了。。
/* ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
* 不对,一行一列的话是[0][0]。。。
* 上面注释掉。
*/
// //for (int i = 1; i <= yangHui_largeGet; i++) {//[i=0]不必遍历;从[i=1]开始。
// for (int jj = 0; jj <= i; jj++) {//这边 jj 的最大 同步于 i 。。。//这个就别从 2 开始了。。
/* ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
* 上面也不对,三角头不只一个数。
* 看公式,三角头是有第二行的。
*/
// //遍历表左壁!
for (int i = 2; i < yangHui_largeGet; i++) {
x_YHui3JX[i][0] = 1;
}//for left KABE for (int i = 2; i < yangHui_largeGet; i++) {//[i=0]根据,不必遍历;从[i=1]开始。
x_YHui3JX[i][i] = 1;//遍历右壁(那么下面jj就是<i而不是<=i了。)
for (int jj = 1; jj < i; jj++) {//jj不能从 0 开始,否则,下标会出现[-1]。。。。 --> 所以,还要遍历的不仅仅三角头。
//(其实,可以设定别处皆 0 。 但不那样,省硬件资源。)
x_YHui3JX[i][jj] = x_YHui3JX[i - 1][jj - 1] + x_YHui3JX[i - 1][jj];
}//forjj //输入到数组,就不用换行了。。。
}//fori //上面应该搞~~输出~~造表算是搞完了; //-------------------------------------- //下面搞输出。
System.out.println("# ");
for (int i = 0; i < yangHui_largeGet; i++) {
System.out.print("# \t"); //不换行。
for (int bloki = 0; bloki < yangHui_largeGet - i; bloki++) {
System.out.print("\t");
}//for_bloki
for (int jj = 0; jj <= i; jj++) { //这里jj遍历就到i别忘了,再往外的连初始化都不算了。。。。(不过,先说好,没试。。。完了下面多来个遍历,试试。。)
System.out.print(""+ x_YHui3JX[i][jj] +"\t\t" );
}//forjj
System.out.println();
}//fori //<动态分割线尝试>
System.out.print("# ---- --- --- ---- --- -");
for (int strxs = 1; strxs < yangHui_largeGet; strxs++) {
System.out.print("- ---- -- - ---- -");
}//for_strxssssssss
System.out.print("\n");
//</动态分割线尝试> //System.out.println("# ---- -"+"-- --- -"+"--- --- "+"--- ----"+" -" + " ---- "+"--- --- "+"---- ---"+" --- ---"+"- -"); System.out.println("\n>> === ===program_OFF === ===>>");
}//main
}//pubclass

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

最新文章

  1. IOS 杂笔-15(知识小点 readonly)
  2. Linux查找命令:grep,awk,sed
  3. Webdriver实现原理
  4. MySQL(一) 数据表数据库的基本操作
  5. Django环境配置
  6. Redis的Python客户端redis-py
  7. 从零开始学习Node.js例子零 永远的Hello World
  8. Linq专题列表
  9. 第八章 self sizing cell
  10. SpringBoot相关
  11. 什么是PHP Guzzle?
  12. webstrom11 激活,webstorm 2016.1激活
  13. React Native:使用 JavaScript 构建原生应用 详细剖析
  14. poj1182 并查集
  15. LeeCode(Database)-Duplicate Emails
  16. 读汤姆大叔《JavaScript变量对象》笔记
  17. dump、libeay32.dll、gsoap、webserver多线程调用gsoap产生崩溃
  18. JAVA中Sql时间格式与util时间格式转换
  19. Helm学习笔记
  20. kubernetes二进制部署k8s-master集群controller-manager服务unhealthy问题

热门文章

  1. [Bzoj3611][Heoi2014]大工程(虚树)
  2. 搭建Spring+mybatis报错
  3. Exchanger使用
  4. Android开发:怎样隐藏自己的app应用
  5. Android——SlidingMenu学习总结
  6. 通过通过url routing解决UIViewController跳转依赖
  7. Android开发pool解析xml
  8. iOS开发——高级篇——多线程GCD死锁
  9. mac上为nginx打开防火墙
  10. Delphi指向函数指针的指针