java 打印杨辉三角形_【练习】Java实现的杨辉三角形控制台输出

1 importjava.util.Scanner;2

3 /**

4 * YangHui_tst015 *@authorHmLy6 *@version0007 * - - - - - - -8 * 练习代码。(注释比较多)9 * 主方法用于实现功能:10 * 请求输入指定杨辉三角形大小(自然不能是1)11 * 然后打印该三角形。12 *13 * 上下分割线可动态变动 ---- 这上面,合适的长度其实只是试出来的 ....14 * - - - - - - -15 *16 * 另,小发现:17 * import放在文档注释下头,vsc就不支持识别它里头的"@"了。。。。。18 */

19 //20

21 public classYangHui_tst01 {22 public static voidmain(String[] args) {23 System.out.println(">>=== === program_ONN=== === >>n");24 /**

25 * 杨辉三角形26 */

27 Scanner scn = newScanner(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就是

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 }//forjj116

117 //输入到数组,就不用换行了。。。

118 }//fori119

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] +"tt");133 }//forjj

134 System.out.println();135 }//fori136

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值